当我尝试将ButtonGroup
对象放到我的Box
对象时,编译器会返回以下错误:
没有这种类型的方法
请帮助我,如何将ButtonGroup
添加到Horizontal Box中?
答案 0 :(得分:1)
ButtonGroup扩展了Object;它不是一个组件。因此它没有明确添加到Container或Component。相反,它将AbstractButton实例分组。
以下是Java文档中的example code。
不使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 );
答案 1 :(得分: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):