http://www.oschina.net/question/573224_61486
JFileChooser chooser =
new
JFileChooser(
"."
);
if
(chooser.showOpenDialog(frame) == JFileChooser.APPROVE_OPTION) {
BufferedImage image = ImageIO.read(chooser.getSelectedFile());
frame.myPanel.setImage(image);
// 重绘
frame.validate();
// 也可以用frame.myPanel.repaint();
}
public
class
MyPanel
extends
JPanel {
private
static
final
long
serialVersionUID = 1L;
private
BufferedImage image =
null
;
public
MyPanel() {
}
@Override
protected
void
paintComponent(Graphics graphics) {
if
(image ==
null
) {
super
.paintComponent(graphics);
}
else
{
graphics.drawImage(image,
0
,
0
,
this
.getWidth(),
this
.getHeight(),
this
);
}
}
public
BufferedImage getImage() {
return
image;
}
public
void
setImage(BufferedImage image) {
this
.image = image;
}
}