我有一个带有标签、文本字段、一个组合框和一个包含 2 个单选按钮的按钮组的 JFrame 表单。在另一个表单中,我有一个 JTable,其中填充了有关学生的数据(学生 ID、姓名...),当我从表中选择一行时,表单打开并且其字段需要填充相同的值(例如,如果 Peter彼得森从表中被选中,然后他的名字应该显示在表格上的文本字段名称中,所以我做了 txtfieldName.setText(student.getName),我的问题是如何为单选按钮执行此操作?我需要有表格中的是/否列,所以当我选择一个表格行时,例如“是”,以便在表单上选择“是”单选按钮?
问问题
36560 次
4 回答
2
if (result.getString(5).equals("Male")) {
jRadioButton1.setSelected(true);
} else {
jRadioButton2.setSelected(true);
}
于 2016-03-17T17:07:18.267 回答
1
这取决于。应用于基础表数据的单选按钮部分的值(即来自您的学生对象)?如果是,那么,不,您不必有是/否列,尽管如果您尝试对其做出决定,它可能很有用。相反,您只需从学生对象中提取它。
如果它与决策制定过程相关,我会将是/否值显示为一列。
如果您要用于设置单选按钮的值不是学生对象的一部分,那么您需要做出一些决定。
就个人而言,我会创建一个代表行状态的包装器对象,这将包括学生对象和您可能想要的任何其他相关细节。这使得数据自包含并使访问该信息更容易。
如果这不是可取的,那么,是的,您可能需要将值显示为列并将其作为表模型中的单独值进行维护。
这也将归结为您如何实现表模型
更新了来自 OP 的反馈
好的,所以,用你的student
对象手。您可以boolean
从student
(由您的单选按钮开始在屏幕上表示)获取属性并做出选择...
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 回答