如何使用JPanel
向JLabel
或BufferedImage
显示图片?
我使用FileChooser
加载图像,我需要显示我已加载的内容。
我不会将课程扩展到任何容器。
答案 0 :(得分:3)
覆盖JPAnel或JLabel的 paintComponents(g) paintComponent(g)
方法并在其中绘制图像。如下所示:
JPanel panel = new JPanel(){
@Override
public void paintComponent(Graphics g) {
BufferedImage image = null; // get your buffered image.
Graphics2D graphics2d = (Graphics2D) g;
graphics2d.drawImage(image, 0, 0, null);
super.paintComponents(g);
}
};
JLabel也是如此。或者以另一种方式:
BufferedImage image = null; // get your buffered image.
ImageIcon icon = new ImageIcon((Image)image);
JLabel label = new JLabel();
label.setIcon(icon);
正如您所说,您正在加载来自FileChooser
的图片,可以在以下内容中完成
方式:
ImageIcon icon = new ImageIcon(
fileChooser.getCurrentDirectory().toString()
+"/"+fileChooser.getSelectedFile().getName());
现在您可以在JLabel中使用ImageIcon或在JPanel中添加它。
以上代码是示例代码,未经过测试,因此无需运行且无错误。您可能需要根据需要进行更改。