私は次のことをしようとします:
- にコンポーネントを追加
JFrame
するBorderLayout
- 別のコンポーネントを
JFrame
を使用しているため、新しいコンポーネントが古いコンポーネントを「上書き」することを期待しますBorderLayout
。を呼び出す前に古いコンポーネントを上書きすると、これは機能しますpack()
。を呼び出した後に2 番目のコンポーネントを追加するとpack()
、両方のコンポーネントが表示されたままになります。例:
public class Test extends JFrame{
public Test(){
setLayout(new BorderLayout());
add(new JLabel("Quite a long text"));
setVisible(true);
pack();
add(new JLabel("Another text"));
}
}
結果:
public class Test extends JFrame{
public Test(){
setLayout(new BorderLayout());
add(new JLabel("Quite a long text"));
setVisible(true);
add(new JLabel("Another text"));
pack();
}
}
結果:
と を追加しようvalidate();
としましrepaint();
たが、それは役に立ちません。ここで何がうまくいかないのですか?