0

我有一个带有标签、文本字段、一个组合框和一个包含 2 个单选按钮的按钮组的 JFrame 表单。在另一个表单中,我有一个 JTable,其中填充了有关学生的数据(学生 ID、姓名...),当我从表中选择一行时,表单打开并且其字段需要填充相同的值(例如,如果 Peter彼得森从表中被选中,然后他的名字应该显示在表格上的文本字段名称中,所以我做了 txtfieldName.setText(student.getName),我的问题是如何为单选按钮执行此操作?我需要有表格中的是/否列,所以当我选择一个表格行时,例如“是”,以便在表单上选择“是”单选按钮?

4

4 回答 4

2
if (result.getString(5).equals("Male")) {
     jRadioButton1.setSelected(true);
} else { 
     jRadioButton2.setSelected(true);
}
于 2016-03-17T17:07:18.267 回答
1

这取决于。应用于基础表数据的单选按钮部分的值(即来自您的学生对象)?如果是,那么,不,您不必有是/否列,尽管如果您尝试对其做出决定,它可能很有用。相反,您只需从学生对象中提取它。

如果它与决策制定过程相关,我会将是/否值显示为一列。

如果您要用于设置单选按钮的值不是学生对象的一部分,那么您需要做出一些决定。

就个人而言,我会创建一个代表行状态的包装器对象,这将包括学生对象和您可能想要的任何其他相关细节。这使得数据自包含并使访问该信息更容易。

如果这不是可取的,那么,是的,您可能需要将值显示为列并将其作为表模型中的单独值进行维护。

这也将归结为您如何实现表模型

更新了来自 OP 的反馈

好的,所以,用你的student对象手。您可以booleanstudent(由您的单选按钮开始在屏幕上表示)获取属性并做出选择...

trueRadioButton.setSelected(booleanValue);
trueRadioButton.setSelected(!booleanValue);

您可以通过使用 a 来使其更简单JCheckBox...

checkBox.setSelected(booleanValue);
于 2013-08-15T20:57:06.603 回答
0

您可以通过 选择单选按钮ButtonGroup

group.getSelected(button.getModel(), true);

于 2013-08-15T20:17:52.713 回答
-1

您不必知道先验选择了哪个单选按钮,因此如果您不想在表中包含该信息,则不必。您可以实例化两个单选按钮,并将“selected”参数设置为 false:

JRadioButton button = new JRadioButton("My button label", false);
JRadioButton otherButton = new JRadioButton("My other button label", false);
ButtonGroup group = new ButtonGroup();
group.add(button);
group.add(otherButton);
于 2013-08-15T20:10:53.480 回答