// radio action listener
ActionListener radioListener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
text.setText(e.getActionCommand());
}
};
// motherboard group
rb1.addActionListener(radioListener);
rb2.addActionListener(radioListener);
rb3.addActionListener(radioListener);
// cpu group
rb4.addActionListener(radioListener);
rb5.addActionListener(radioListener);
rb6.addActionListener(radioListener);
我需要一些帮助,当我单击JRadioButton group时,JRadioButton group的值将显示在jtext区域中,用于每个选定的组。我现在一次只能得到一组。谢谢
每次抛出一个单选按钮事件时都覆盖文本区域。尝试使用JTextAre.append()而不是setText。
在任何情况下,您都必须记住ActionListener中单选按钮组的任何状态才能达到预期的行为。
因评论而更新:
这并不完全正确。我没有检查。但它显示了主要方面。首先,最好通过一个具体的类来实现侦听器接口,而不是将其作为AnonuOmys类型传递。在本例中,类RadioButton实现actionListener方法。现在,您可以将任何类型的参数或对象引用传递给listener类。您可以在侦听器方法中使用它。
进一步了解我是如何获得事件来源的。这是通过
JRadioButton source = (JRadioButton)e.getSource();
如果你指定了一个名称或一个id给无线电按钮,你可以检查该名称并以适当的方式做出反应。
下面是示例代码:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.JRadioButton;
import javax.swing.JTextArea;
public class RadioButton implements ActionListener {
boolean group1Clicked = false;
boolean group2Clicked = false;
JRadioButton rb1 = new JRadioButton();
...
JTextArea text = new JTextArea();
public RadioButton() {
rb1.addActionListener(this);
rb2.addActionListener(this);
rb3.addActionListener(this);
ButtonGroup group = new ButtonGroup();
rb1.setName("rb1");
rb2.setName("rb2");
// cpu group
rb4.addActionListener(this);
rb5.addActionListener(this);
rb6.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
JRadioButton source = (JRadioButton)e.getSource();
if (source.getName().equals("rb1") ||
source.getName().equals("rb2") ||
source.getName().equals("rb3")) {
//Changing the state
if (group1Clicked) {
group2Clicked = false;
} else {
group1Clicked = true;
}
}
if (source.getName().equals("rb4") ||
source.getName().equals("rb5") ||
source.getName().equals("rb6")) {
//Changing the state
if (group2Clicked) {
group1Clicked = false;
} else {
group2Clicked = true;
}
}
if (group1Clicked==false || group2Clicked ==false) {
text.clear();
} else {
text.append(e.getActionCommand());
}
}
};
我正在尝试实施一个工资系统,但我在更新员工方面遇到了一些问题。我已将员工的性别作为varchar存储在数据库中。当我输入员工id并单击搜索按钮时,我想从数据库中获取该信息,并根据数据以男性/女性单选按钮显示。代码中没有错误。但问题是,当我尝试这样做时,只有男性按钮显示为选中状态,这是默认设置。即使数据库上的数据显示为女性,女性单选按钮也不会被选中。有谁能帮我解决这个问题吗?下面是我的代码。
介绍 (Introduction) JRadioButton类是单选按钮的实现 - 可以选择或取消选择的项目,它向用户显示其状态。 Class 声明 (Class Declaration) 以下是javax.swing.JRadioButton类的声明 - public class JRadioButton extends JToggleButton implements Acc
问题内容: 我想补充到。我用了给定的代码 但是,当我运行此命令时,我将获得另一种颜色的列,并且当我单击单选按钮时,什么也没有发生。我正在使用netbeans。如果我尝试自定义,则不会显示任何内容。给我适当的指导。 问题答案: 如果要编辑表格单元格的值,则必须设置一个。 您应该在渲染器中创建一个单一文件,并在任何地方重复使用,这就是TableCellRenderer的目的。 如果您不打电话,则不需要
主要内容:1 Java JRadioButton的介绍,2 Java JRadioButton的声明,3 Java JRadioButton的构造方法,4 Java JRadioButton的方法,5 Java JRadioButton的案例1,6 Java JRadioButton的案例21 Java JRadioButton的介绍 JRadioButton类用于创建单选按钮。它用于从多个选项中选择一个选项。它广泛用于考试系统或测验中。 应该将其添加到ButtonGroup中,以仅选择一个单选
我想在按钮组中拦截对JRadioButton的点击。更准确地说:当选择JRadioButton A并且用户单击JRadioButton B时,我想显示一个Yes/No选项窗格。只有当用户单击“是”时,才会选择单选按钮B。如果用户单击“否”,则不应更改任何内容。这是不是或者说这是怎么可能的? 谢谢你抽出时间
我正在做作业(请不要替我做作业)。我已经完成了95%。不过,我在这最后一点上遇到了麻烦。我需要在JText区域显示所选的性别。我必须使用JRadioButton进行性别选择。 我知道JradioButton的工作原理不同。我设置了动作监听器和助记符。我想我搞砸了。看来我可能需要整个团队来设定和行动列表。 非常感谢您的帮助。 以下是我的代码(减去我认为不需要的部分,以便其他人无法复制粘贴作业):