Java Swing将按钮组添加到JTabbedPane
在JavaSwing中,在JTabbedPane中添加一组按钮时遇到问题。在窗格中添加单个单选按钮没有问题,但是当我尝试添加一组单选按钮时,Eclipse显示“类型容器中的方法add(组件)不适用于参数(ButtonGroup)” 以下是代码的一部分:Java Swing将按钮组添加到JTabbedPane,java,swing,jtabbedpane,Java,Swing,Jtabbedpane,在JavaSwing中,在JTabbedPane中添加一组按钮时遇到问题。在窗格中添加单个单选按钮没有问题,但是当我尝试添加一组单选按钮时,Eclipse显示“类型容器中的方法add(组件)不适用于参数(ButtonGroup)” 以下是代码的一部分: import java.awt.*; public class MainSystemInterface { final static String ADDCUSTOMER = "Add New Customer";
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);
}
}
将按钮组添加到frame或JPanel也没有问题。您必须将JRadioButtons本身添加到JPanel,然后将该JPanel添加到您的JTabbedPane。ButtonGroup是一个逻辑构造,其唯一目的是确保一次只能选择一个JRadioButton。它不是可见组件,因此您无法将按钮组添加到任何容器。您必须将JRadioButtons本身添加到JPanel,然后将该JPanel添加到JTabbedPane。ButtonGroup是一个逻辑构造,其唯一目的是确保一次只能选择一个JRadioButton。它不是可见组件,因此无法将按钮组添加到任何容器。将
按钮组添加到JPanel
时,将看不到任何内容。这是你的2个单选按钮的逻辑组合。您应该做的是像您已经做的那样将单选按钮添加到按钮组,然后将单选按钮添加到jpanel
并将它们放置在适当的位置。将按钮组添加到jpanel
时,您将看不到任何内容。这是你的2个单选按钮的逻辑组合。你应该做的是像你已经做的那样向按钮组中添加单选按钮,然后将单选按钮添加到jpanel
中,并将它们放置在适当的位置。你发布的代码中还有另一个问题,你没有导入与你正在使用的组件对应的swing类,比如JFrame、jpanel、ButtonGroup、,JRadioButton和JTabbedPaneThis只是代码的一部分(我提到了这一点)。整个代码是1000多行。。。我只是与这个问题相关的一部分代码。另外,您发布的代码中还有另一个问题,您没有导入与您正在使用的组件(如JFrame、JPanel、ButtonGroup、JRadioButton和JTabbedpaneth)对应的swing类。这只是代码的一部分(我提到过)。整个代码是1000多行。。。我只是与这个问题相关的一部分代码。这实际上是我正在尝试做的。。。我创建了新的JPannel addCustomer,然后我尝试将创建的按钮组添加到此面板,但在Eclipse上出现错误:类型容器中的add(Component)方法不适用于参数(ButtonGroup)。我试图按照Eclipse的建议解决这个问题,但没有成功。我还将这些按钮分别添加到此面板中,但错误是相同的。@Alonuch:同样,您对该错误的主要误解是,您正在将ButtonGroup添加到GUI而不是JPanel,而这是您无法做到的。我不知道如何解释这一点比这更简单。@Alonuch:为了澄清,您正在向JTabbedPane添加一个按钮组,但再次无法执行此操作。相反,您应该添加已添加按钮的JPanel。我相信你能解决这个问题。继续努力。这实际上是我正在努力做的。。。我创建了新的JPannel addCustomer,然后我尝试将创建的按钮组添加到此面板,但在Eclipse上出现错误:类型容器中的add(Component)方法不适用于参数(ButtonGroup)。我试图按照Eclipse的建议解决这个问题,但没有成功。我还将这些按钮分别添加到此面板中,但错误是相同的。@Alonuch:同样,您对该错误的主要误解是,您正在将ButtonGroup添加到GUI而不是JPanel,而这是您无法做到的。我不知道如何解释这一点比这更简单。@Alonuch:为了澄清,您正在向JTabbedPane添加一个按钮组,但再次无法执行此操作。相反,您应该添加已添加按钮的JPanel。我相信你能解决这个问题。继续尝试。问题是,这不起作用。我试图将创建的按钮组添加到此面板,但在Eclipse上出现错误:类型容器中的add(Component)方法不适用于参数(ButtonGroup)。我试图按照Eclipse的建议解决这个问题,但没有成功。不要将按钮组添加到JPanel。将JRadioButtons添加到ButtonGroup,然后将这些单选按钮添加到JpnaleHere有问题,这不起作用。我试图将创建的按钮组添加到此面板,但在Eclipse上出现错误:类型容器中的add(Component)方法不适用于参数(ButtonGroup)。我试图按照Eclipse的建议解决这个问题,但没有成功。不要将按钮组添加到JPanel。将JRadioButtons添加到ButtonGroup,然后将这些单选按钮添加到Jpnale