Hola,
Supuse que ya podías visualizar la imagen y solamente querías ocultarla y mostrarla al presionar un botón. Actualmente puedes obtener muchos mejores resultados usando un JLabel que incluya la imagen, un JButton que incluya la imagen, o cargarla con métodos de ImageIO u otros.
Código Java:
Ver originalpackage org;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.image.ImageObserver;
public class Main
extends javax.
swing.
JFrame {
private javax.
swing.
JButton jButton1
; Image miImagen
= Toolkit.
getDefaultToolkit().
getImage("/nuevhh4.jpg"); boolean flag = true;
public Main() {
jButton1
= new javax.
swing.
JButton(); jButton1.setText("jButton1");
public void actionPerformed
(java.
awt.
event.
ActionEvent evt
) { jButton1ActionPerformed(evt);
}
});
getContentPane
().
add(jButton1, java.
awt.
BorderLayout.
LINE_END);
pack();
prepareImage(miImagen, p);
setLocationRelativeTo(null);
}
private void jButton1ActionPerformed
(java.
awt.
event.
ActionEvent evt
) { flag = !flag;
repaint();
}
public static void main
(String args
[]) { public void run() {
new Main().setVisible(true);
}
});
}
@Override
if (flag) {
g.drawImage(miImagen, 0, 0, getWidth(), getHeight(), this);
}
}
@Override
public boolean imageUpdate
(Image img,
int infoflags,
int x,
int y,
int width,
int height
) { repaint();
return false;
}
return true;
}
}
}
Saludos,
ps:
De cualquier forma el método getImage() funciona en base a como se hacían las aplicaciones para obtener imágenes hace buen tiempo, en forma asíncrona y por medio de un ImageObserver. (Y ya se me había olvidado casi completamente, inclusive creo que no era exactamente igual que este ejemplo, desde Symantec Java Cafe).