我有一个扩展JFrame的类。它使用以下代码将180个图像加载到数组中
ImageIO.read((getClass().getClassLoader().getResourceAsStream("render/"+constructImageFilename(i))));
public class ImagePanel extends JPanel{
private BufferedImage img; //This is the image that the ImagePanel contains.
public ImagePanel() {
super();
}
public void setImage(BufferedImage i) {img=i;} //Mutator for the image.
public BufferedImage getImage() {return img;} //Accessor for the image.
public void paint(Graphics g) {
super.paint(g); //Paint the normal JPanel stuff.
((Graphics2D)g).drawImage(img,null,0,0); //Draw the image.
}
}
更新:我尝试使用一个JLabel而不是我的ImagePanel类。JLabel似乎也有同样的问题。当我使用JPEG时,它会显示,但当我使用PNG时,它什么也不显示。
当加载的图像是JPEG时,同样的程序可以很好地工作,但是如果图像是PNG,则图像不会下降
加载.jpg或.png文件的代码没有区别。如果路径正确,则文件不会损坏,应该加载。
为什么要创建ImagePanel。您的绘画代码正在绘制图像的原始尺寸。只需使用带有ImageIcon的JLabel即可,无需自定义绘画。
我有一个JTextArea,它位于JScrollPane中,而JScrollPane又位于JPanel中,而JTextArea又位于JTabbedPane的Tab中。 我知道文本被添加到我的JTextArea中,但是当我在选项卡之间移动时,JTextArea是不可见的。要阅读文本,我必须选择JTextArea中的文本,然后将JTextArea的背景设置为白色。如果我不选择,我什么也看不到。 下面是
我直接从书上抄了这些例子。代码应该在JFrame上绘制一些东西,但没有显示任何东西(除了JFrame),这里是带有main方法的类 下面是JPanel的一个子类
问题内容: 在JPanel上显示jpg图像(从本地文件夹加载)的最合适的图像类型是什么? 干杯。 问题答案:
我知道同样的问题已经被问过很多次了,但是我似乎真的没有在我的代码中发现阻碍JPanel类型的对象显示在JFrame中的错误。下面是扩展JFrame的类的构造函数: 当我运行main方法(这里没有显示)时,它只显示框架和按钮。如果有人能在这方面给点提示,我会非常感谢的。
问题内容: 这是一个非常简单的程序,我已尽力而为,但JPanel并未提供背景图片。我只希望面板上有一个简单的背景图像。 这是我的代码: 提前致谢 问题答案: 更换 与
有人能说出为什么组合框没有显示?我有一个控制器: 和视图 由于TestController中的setLayout(null),我看不到组合框。如果我将add(cgview.comboBox)添加到我的TestContoller()中,使其看起来如下所示: 比我能看到的还要多。有人能说出原因吗? 所以我的解决方案是始终在TestController中添加组件,或者将TestController作为a