窗口的尺寸不匹配

时间:2013-02-12 11:52:27

标签: java swing jframe

class Main 
{     
    public static void main(String [] args)
    {
     Window h = new Window(100,100);            
    }        

}



class Window
{
    private JFrame frame;

    public Window(int width,int height)
    {
        Rectangle dim = new Rectangle();

        frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLocation(0, 0);
        frame.setSize(width, height);
        frame.setVisible(true);

        frame.getBounds(dim);

        System.out.print(dim); 
    }
}

这个程序创建一个在构造函数中指定的宽度和高度的窗口,然后测量并“回显”它的尺寸。

  

运行:       java.awt.Rectangle中[X = 0,Y = 0,宽度= 132,高度= 100]

你能解释为什么一个真正的窗口宽32px?

1 个答案:

答案 0 :(得分:2)

这是因为JComponent具有默认的最小尺寸,在您的情况下,最小宽度为132px。要解决此问题,您可以将window的宽度增加到至少132,或者在frame.setMinimumSize(new Dimension(100, 100))之前添加frame.setSize(width, height)