繁体   English   中英

在Java GUI中绘制图像

[英]Draw image in Java GUI

我正在尝试在Java的JFrame GUI中显示图像。 我已经从资源文件成功加载了图像,并且能够在JOptionPane显示图像。 这是通过在构造函数中使用包含Image Icon的JLabel实现的。 尝试将此图像添加到JPanel不显示任何内容。

JLabel imgLabel1 = new JLabel(new ImageIcon(tsr.getTileImage(1,1)),JLabel.CENTER);
jpnDisplay.add(imgLabel1);

tsr是我的自定义代码,用于从tileset获取子图像。 返回的图像类型为BufferedImage

我注意到的一件事是,如果我在JOptionPane显示图像,然后将其添加到显示图像的JPanel中。 我不确定为什么会这样。

JLabel imgLabel1 = new JLabel(new ImageIcon(tsr.getTileImage(1,1)),JLabel.CENTER);
JOptionPane.showMessageDialog(null, imgLabel1,"Label",-1);
jpnDisplay.add(imgLabel1);`enter code here

- 编辑 -

在玩完我的代码之后,我发现我的问题不在于尝试显示图像的方式,但是由于某种原因,除非在显示JFrame之前显示JOptionPane ,否则我的JFrame不会重新绘制。 它还仅绘制与JOptionPane中显示的实例相同的实例。 其他要绘制的图像将被忽略。 原因尚不清楚。

您必须子类化JPanel并重写redraw方法才能绘制图像。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM