質問: new JPanel(); interior.setLayout(new GridLayout(5,5)); contentor.add(interior); System.out.println(interior.getSize().getWidth()); //it says 0 ?!?! why?? } ``` 事前にみんなに感謝!
回答: パネルはレイアウトに基づいてサイズが決定されます。具体的には表示され、doLayout()が呼び出されます。 doLayout()は、パネルの適切なサイズがパネルの内容とレイアウトマネージャに基づいてどのようになっているかを調べます。パネルに何もないので、適切なサイズは0、0です。 パネルに何も持っておらず、この(0,0)サイズを回避したい場合は、パネルのgetPreferredSize()をオーバーライドして、パネルがレイアウトを尊重したいサイズを返すことができます。