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 に答える