WindowBuilder上的“双重关联的不同父母”错误

时间:2018-08-23 16:31:27

标签: java jframe gridbaglayout windowbuilder

我对LayoutManagers还是很陌生,但是我想构建一个包含许多组件的JFrame(布局相当复杂),因此感觉GridBagLayout是一个不错的选择。

使用GridBagConstraints添加多个组件时,当我打算切换到“设计”视图时,我会收到一条错误消息(代码可以执行,但是没有任何问题)。如果可能的话,我还是希望保留“设计”视图,因为我仍然没有经验,可以借助该视图更好地了解正在发生的事情。

导致错误消息的简化示例代码:

JSlider slider = new JSlider();
JSlider slider2 = new JSlider();

setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();

gbc.gridx = 0;
gbc.gridy = 0;
add(slider,gbc);

gbc.gridx = 1;
gbc.gridy = 1;
add(slider2,gbc);

当我切换到“设计”视图时出现错误消息:

  

父母双亲。

     

gbc组件多次添加到父组件。

     

•add(slider,gbc);

     

•add(slider2,gbc);

它是3年前的this问题的重复,但是唯一的答案是“声明另一个GridBagConstraints变量”。但是,我计划添加很多组件,因此我觉得这不是解决我的问题的好方法。 有没有一种方法可以使用GridBagLayout而不使用多个GridBagContraints var(有没有那么繁琐的方法?)并且仍然能够看到Design视图?

0 个答案:

没有答案