我正在尝试使用Swing做一些事情,这就是这种情况:我使用BoxLayout布局管理器在JPanel中收集JPanels。我希望一个JPanel增加其高度以显示更多信息,并且JPanels位于其下方以移动它们的位置以避免被已调整大小的JPanel重叠。
我只执行resize(...)并添加细节JPanel,但调整大小后添加的细节JPanel中的组件未显示。
我想知道BoxLayout是否是合适的容器,为什么JPanel内部的组件没有被绘制,当然,我怎么能这样做。
总结:一个JPanel(新的BoxLayout ...)作为容器,里面有许多Item JPanel,带有一个按钮“Details”,当我点击“Details”时,Item JPanel被调整大小并在里面添加一个Details JPane。我希望移动其他Item JPanel。
请你注意!
代码是这样的:
public class Container extends JPanel {
private Item item1;
private Item item2;
...
}
public class Item extends JPanel() {
private JButton detailsButton;
private DetailPanel details;
private void showDetails() {
resize(getWidth(),getHeigth()+100);
details = new DetailPanel();
add(details);
}
}