Java 图像大小不正确?
我有一个代码,它获取网格布局中的两个JLabel图像,然后将它们放在2x2布局中,然后将它们彼此放在一起。这是可行的,但它以一种非常奇怪的方式出现。所有的图片都在右下角,我只能看到一点点蓝色(这是我的一张照片的颜色的一部分)。我不知道这是我的eclipse的问题,还是我的代码的问题,但一旦我重新单击窗口的标题栏,它就会再次修复并成为我想要的样子。我如何解决这个问题,因为我非常确定这在eclipse中是个问题。我已经提供了代码的一部分,它实际上是:Java 图像大小不正确?,java,eclipse,user-interface,Java,Eclipse,User Interface,我有一个代码,它获取网格布局中的两个JLabel图像,然后将它们放在2x2布局中,然后将它们彼此放在一起。这是可行的,但它以一种非常奇怪的方式出现。所有的图片都在右下角,我只能看到一点点蓝色(这是我的一张照片的颜色的一部分)。我不知道这是我的eclipse的问题,还是我的代码的问题,但一旦我重新单击窗口的标题栏,它就会再次修复并成为我想要的样子。我如何解决这个问题,因为我非常确定这在eclipse中是个问题。我已经提供了代码的一部分,它实际上是: public class giraffe
public class giraffe implements ActionListener{
public void actionPerformed(ActionEvent event) {
JOptionPane.showMessageDialog(null,
"Press ok, and see the amazing giraffe outside a window!");
JDialog giraffewindow = new JDialog();
Icon giraffe = new ImageIcon(getClass().getResource("giraffe.png"));
Icon windows = new ImageIcon(getClass().getResource("windows.png"));
giraffewindow.setLayout(new GridLayout(1, 2, 0, 0));
giraffewindow.add(new JLabel (windows));
giraffewindow.add(new JLabel (giraffe));
giraffewindow.setSize(2000,2000);
giraffewindow.setTitle("GIRAFFE!");
giraffewindow.setVisible(true);
giraffewindow.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
}
同样,我99%确信这不是代码的问题,而是eclipse的问题。我该怎么做才能解决这个问题?非常感谢您花这么多时间阅读本文,我非常感谢您为帮助一位程序员同事所付出的努力 不要使用setSize()方法。2000 x 2000可能大于导致问题的屏幕大小
使用pack()方法,对话框将根据图像的大小调整自身大小
如果我想在更改图片大小的同时按比例更改对话框的大小
也许您可以使用Darryl's,它将根据可用空间动态调整图像大小。不要使用setSize()方法。使用
pack()
方法,对话框将根据图像大小自行调整大小。非常感谢,我感谢您的回答。如果我想在改变图片大小的同时按比例改变对话框的大小,你介意告诉我该怎么做吗?谢谢,里奇。