我在Java Swing中在JTabbedPane中添加一组按钮时遇到问题。将单个单选按钮添加到窗格中没有问题,但是当我尝试添加一组单选按钮时,Eclipse向我显示“Container类型中的方法add(Component)不适用于参数(ButtonGroup) “
以下是代码的一部分:
import java.awt.*;
public class MainSystemInterface {
final static String ADDCUSTOMER = "Add New Customer";
final static String SEARCHCUSTOMER = "Search for a Customer";
final static String EDITCUSTOMER = "Account Details";
final static JFrame frame = new JFrame("Jframe");
public void addComponentToPane(Container pane) {
final JTabbedPane tabbedPane = new JTabbedPane();
tabbedPane.addTab(ADDCUSTOMER, addCustomerTab);
JPanel addCustomerTab = new JPanel();
JRadioButton rdbtnPremium = new JRadioButton("PREMIUM");
rdbtnPremium.setBounds(397, 157, 71, 23);
rdbtnPremium.setSelected(false);
JRadioButton rdbtnBasic = new JRadioButton("BASIC");
rdbtnBasic.setBounds(336, 157, 64, 23);
rdbtnBasic.setSelected(true);
//Group the radio buttons.
ButtonGroup rdbtntgroup = new ButtonGroup();
rdbtntgroup.add(rdbtnBasic);
rdbtntgroup.add(rdbtnPremium);
// Not working
addCustomerTab.add(rdbtntgroup);
//Working
addCustomerTab.add(rdbtnBasic);
}
}
将按钮组添加到帧或JPanel也没有问题。
答案 0 :(得分:2)
您必须将JRadioButtons本身添加到JPanel,然后将该JPanel添加到JTabbedPane。 ButtonGroup是一个逻辑构造,其唯一目的是确保一次只能选择一个JRadioButton。它不是可见组件,因此您无法将ButtonGroup添加到任何容器中。
答案 1 :(得分:2)
将ButtonGroup
添加到JPanel
时,您将看不到任何内容。它是logcally组你的2个单选按钮。您应该做的是按照您已经完成的方式向按钮组添加单选按钮,然后将单选按钮添加到jpanel
并将它们放置在适当的位置。