我尝试做以下事情:
- 使用 a 将组件添加到
JFrame
aBorderLayout
- 将另一个组件添加到
JFrame
我希望新组件能够“覆盖”旧组件,因为我使用的是BorderLayout
. 如果我在调用pack()
. 现在,如果我在调用后添加第二个组件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();
and repaint();
,但这无济于事。这里出了什么问题?