2
JPanel scorePanel = new JPanel();
scorePanel.setBackground( new Color( 95 , 8 , 248 , 255 ));
JLabel scoreLabel = new JLabel( "Score : 0"  );
scoreLabel.setForeground( Color.white );
scoreLabel.setFont( new Font( "Cambria" , Font.BOLD , 20 ) );
scorePanel.add(scoreLabel);
Dimension d =new Dimension( scorePanel.getSize() );
System.out.println(d);

コード全体と一緒に実行した場合のこのスニペットの出力は、java.awt.Dimension [width = 0、height = 0]

スコアパネルにサイズ20のラベルがあるのに、なぜこの出力が得られるのですか? これ はスコアパネルの実際のサイズですか

4

1 に答える 1

3

いいえ、そうではありません。それが実現されると(つまり、コンテナにパックされてレンダリングされると)、コンポーネントの実際の寸法が利用可能になります。

于 2011-06-24T15:30:13.563 に答える