调整JPanels大小时不显示组件

时间:2011-11-12 10:09:06

标签: swing

我正在尝试使用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);
}

}

0 个答案:

没有答案