2

当我尝试将对象放入ButtonGroup对象时Box,编译器返回以下错误:

这种类型没有方法

请帮助我,如何将我的添加ButtonGroup到水平框中?

4

2 回答 2

1

ButtonGroup 扩展对象;它不是一个组件。因此它没有显式添加到容器或组件中。相反,它将 AbstractButton 实例分组。

这是 Java 文档中的示例代码

不使 ButtonGroup 成为组件的一个优点(可能也是以这种方式实现它的原因)是您可以让不同组件上的 AbstractButton 实例成为同一个 ButtonGroup 的成员。
下面是一些示例代码来演示它,使用 BoxLayout。

JPanel mainPanel = new JPanel();
mainPanel.setLayout ( new BoxLayout( mainPanel, BoxLayout.PAGE_AXIS ) );

ButtonGroup group = new ButtonGroup( );

JButton dogButton = new JButton("dog");
group.add( dogButton );
JPanel dogPanel = new JPanel( );
dogPanel.add( dogButton );
mainPanel.add( dogPanel );

JButton catButton = new JButton("cat");
group.add( catButton );
JPanel catPanel = new JPanel();
catPanel.add( catButton );
mainPanel.add( catPanel );
于 2011-12-02T13:21:05.577 回答
1

像这样的东西:

ButtonGroup bg; // your button group
Box box; // your box
// Create a panel to group the buttons.
JPanel panel = new JPanel();
// Add all of the buttons in the group to the panel.
for (Enumeration<AbstractButton> en = buttonGroup.getElements(); en.hasMoreElements();) {
    AbstractButton b = en.nextElement();
    panel.add(b);
}
// Add the panel to the box.
box.add(panel):
于 2011-12-02T13:37:37.967 回答