我有一个代码,它采用网格布局中的两个 JLabel 图像,并将它们放在 2x2 布局中的相邻两个图像中。这是可行的,但它以一种非常奇怪的方式出现。这些图像和所有内容都位于右下角,我只能看到一小部分蓝色(这是我的一张照片的颜色的一部分)。我不知道这是我的 eclipse 的问题,还是我的代码的问题,但是一旦我重新单击窗口的标题栏,它就会再次自行修复并变成我想要的样子。我该如何解决这个问题,因为我很确定这是 eclipse 中的问题。我已经提供了实际实现的部分代码:
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() 方法,对话框将根据图像的大小自行调整大小。
if I wanted to proportionally change the size of the dialog while changing the size of the pictures?
也许你可以使用 Darryl 的 Stretch Icon这将根据可用空间动态调整图像大小。
关于java - 图片尺寸不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32109922/