定位问题 - 在JPanel中动态添加/删除

时间:2012-05-16 06:58:25

标签: java swing windowbuilder

首先,我很抱歉我的英语,它不是我的母语。我尽力做到最好

我的显示器有些问题。我有一个面板的java.util.List,里面有一些元素。我想在创建JDialog时将它们插入到JPanel中。 我的JDialog中有两个JButton,' add'并且'删除',分别在JPanels的底部添加一个新的JPanel,另一个删除最后添加的JPanel。 我的问题是两个JPanel之间存在很大差距,无论JPanel的数量是多少,我都不知道为什么...... 两个示范图片:


my JDialog with 3 JPanel

my JDialog with more than 3 JPanel

我的布局是GridBagLayout,我使用WindowBuilder和Eclipse Indigo。这是我的代码。我认为问题来自于我在GridBagConstraints中分配给锚点的值...
listChamps是我要插入的JPanel列表 panelListFile是JPanel,其中listChamps'插入元素

for (int i = 0; i < listChamps.size (); ++i) {
            GridBagConstraints gbc_pan = new GridBagConstraints ();
            gbc_pan.gridwidth = 1;
            gbc_pan.fill = GridBagConstraints.HORIZONTAL;
            gbc_pan.anchor = GridBagConstraints.NORTH;
            gbc_pan.gridx = 0;
            gbc_pan.gridy = i;
            panelListFiles.add (listChamps.get (i), gbc_pan);
 }

谢谢你。

2 个答案:

答案 0 :(得分:2)

我使用两种方式,在两种情况下都应添加JPanel嵌套JComponent s,

答案 1 :(得分:1)

您可以在JPanel中使用JPanel,方法是使用不同的样式添加和重新排列其布局。