Java 图像大小不正确?

Java 图像大小不正确?,java,eclipse,user-interface,Java,Eclipse,User Interface,我有一个代码,它获取网格布局中的两个JLabel图像,然后将它们放在2x2布局中,然后将它们彼此放在一起。这是可行的,但它以一种非常奇怪的方式出现。所有的图片都在右下角,我只能看到一点点蓝色(这是我的一张照片的颜色的一部分)。我不知道这是我的eclipse的问题,还是我的代码的问题,但一旦我重新单击窗口的标题栏,它就会再次修复并成为我想要的样子。我如何解决这个问题,因为我非常确定这在eclipse中是个问题。我已经提供了代码的一部分,它实际上是: public class giraffe

我有一个代码,它获取网格布局中的两个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()方法,对话框将根据图像的大小调整自身大小

如果我想在更改图片大小的同时按比例更改对话框的大小


也许您可以使用Darryl's,它将根据可用空间动态调整图像大小。

不要使用setSize()方法。使用
pack()
方法,对话框将根据图像大小自行调整大小。非常感谢,我感谢您的回答。如果我想在改变图片大小的同时按比例改变对话框的大小,你介意告诉我该怎么做吗?谢谢,里奇。