1
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,width=132,height=100]

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

4

1 回答 1

2

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

于 2013-02-12T11:58:25.673 回答