2

我想动态替换/更改面板的内容。我知道这样做的“标准”方式是使用 CardLayout。

但是,大多数组件都非常胖。它们是大数据表和巨大的图表。

我还有哪些其他选择(包括免费提供的第 3 方组件)?

4

2 回答 2

2

您可以删除旧内容并创建新组件并重新读取新组件。然后打电话

container.revalidate(); 
container.repaint();
于 2011-08-26T06:47:48.413 回答
1

只是不要使用 LayoutManager。自己烤:

// start with fat compponent 1
JPanel p = new JPanel(new BorderLayout());
FatComponent1 c1 = new FatComponent1();
p.add(c1, BorderLayout.CENTER);

// ...
// replace it e.g. after pressing a button with fat component 2
p.removeAll();
FatComponent2 c2 = new FatComponent2();
p.add(c2, BorderLayout.CENTER);
于 2011-08-26T07:01:45.243 回答