Ver Mensaje Individual
  #8 (permalink)  
Antiguo 30/10/2009, 09:42
Avatar de gasoft
gasoft
 
Fecha de Ingreso: abril-2009
Mensajes: 68
Antigüedad: 15 años
Puntos: 3
Respuesta: Agregar imagen a JPanel

Hola amigo HackmanC

he hecho lo que me has indicado pero cuando doy clic sobre el boton no pasa nada :(.

Código Java:
Ver original
  1. package imagen;
  2.  
  3.  
  4. import java.awt.Dimension;
  5. import java.awt.Graphics;
  6. import java.awt.Image;
  7. import java.awt.Toolkit;
  8. import java.awt.image.ImageObserver;
  9.  
  10.  
  11. /**
  12.  *
  13.  * @author R2D2
  14.  */
  15.  
  16. public class Ventana extends javax.swing.JFrame {
  17.  
  18.     Image miImagen = Toolkit.getDefaultToolkit().getImage("/recursos/imagen.jpg");
  19.     boolean flag = true;
  20.  
  21.  
  22.     public Ventana() {
  23.         initComponents();
  24.  
  25.         prepareImage(miImagen,this);
  26.  
  27.         setLocationRelativeTo(null);
  28.  
  29.         setResizable(false);
  30.  
  31.          
  32.     }
  33.  
  34.    
  35.     @SuppressWarnings("unchecked")
  36.     // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
  37.     private void initComponents() {
  38.  
  39.         BotonMostarImagen = new javax.swing.JButton();
  40.  
  41.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  42.  
  43.         BotonMostarImagen.setText("Boton");
  44.         BotonMostarImagen.addActionListener(new java.awt.event.ActionListener() {
  45.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  46.                 BotonMostarImagenActionPerformed(evt);
  47.             }
  48.         });
  49.  
  50.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  51.         getContentPane().setLayout(layout);
  52.         layout.setHorizontalGroup(
  53.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  54.             .addGroup(layout.createSequentialGroup()
  55.                 .addGap(159, 159, 159)
  56.                 .addComponent(BotonMostarImagen)
  57.                 .addContainerGap(180, Short.MAX_VALUE))
  58.         );
  59.         layout.setVerticalGroup(
  60.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  61.             .addGroup(layout.createSequentialGroup()
  62.                 .addGap(134, 134, 134)
  63.                 .addComponent(BotonMostarImagen)
  64.                 .addContainerGap(143, Short.MAX_VALUE))
  65.         );
  66.  
  67.         pack();
  68.     }// </editor-fold>//GEN-END:initComponents
  69.  
  70.     private void BotonMostarImagenActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BotonMostarImagenActionPerformed
  71.  
  72.         flag = !flag;
  73.         repaint();
  74.     }//GEN-LAST:event_BotonMostarImagenActionPerformed
  75.  
  76.    
  77.     public static void main(String args[]) {
  78.         java.awt.EventQueue.invokeLater(new Runnable() {
  79.             public void run() {
  80.                 new Ventana().setVisible(true);
  81.             }
  82.         });
  83.     }
  84.  
  85.  
  86.  
  87. @Override
  88. public void paint(Graphics g)
  89. {
  90.             if (flag) {
  91.                 g.drawImage(miImagen, 100, 100, getWidth(), getHeight(), this);
  92.                
  93.             }
  94.  
  95. }
  96.  
  97. @Override
  98. public boolean imageUpdate(Image miImagen, int infoflags, int x, int y, int width, int height) {
  99.             if ((infoflags & ImageObserver.ALLBITS) != 0) {
  100.                repaint();
  101.                 return false;
  102.             }
  103.             return true;
  104.         }
  105.  
  106.     // Variables declaration - do not modify//GEN-BEGIN:variables
  107.     private javax.swing.JButton BotonMostarImagen;
  108.     // End of variables declaration//GEN-END:variables
  109.  
  110.  
  111.  
  112. }


La verdad no se que me falta.. .

Mira por ejemplo en la linea 98 ; que parametros debo de pasarle.. ya que cuando le paso parametros... por ejemplo x ,y me saca error. :(