图像尺寸不合适?

时间:2015-08-20 05:05:25

标签: java eclipse user-interface

我有一个代码,它采用两个采用网格布局的JLabel图像,然后将它们放在另外两个相同的2x2布局中。这很有效,但它以一种非常奇怪的方式出现。图像和所有图像都位于最右下方,我只能看到蓝色的一瞥(这是我的一张照片的颜色的一部分)。我不知道这是我的日食问题,还是我的代码有问题,但是一旦我重新点击窗口的标题栏,它就会再次自我修复并成为我想要的。我怎么能解决这个问题,因为我很确定这是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%肯定这不是代码问题,但是我的日食有问题。我该怎么做才能解决这个问题?非常感谢您花时间阅读本文,我非常感谢您为帮助其他程序员而付出的努力!

1 个答案:

答案 0 :(得分:1)

不要使用setSize()方法。 2000 x 2000可能比屏幕尺寸大,导致问题。

使用pack()方法,对话框将根据图像的大小自行调整大小。

  

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

也许您可以使用Darryl的Stretch Icon,它会根据可用空间动态调整图片大小。