我有一个带有标签,文本字段,组合框和一个带有2个单选按钮的按钮组的JFrame表单。在另一种形式中,我有一个JTable,其中填充了关于学生的数据(学生ID,姓名......),当我从表中选择一行时,表单打开,其字段需要填充相同的值(例如,如果彼得彼得森是从表中选出的,那么他的名字应该在表格上的文字字段名称中显示,所以我做了txtfieldName.setText(student.getName),我的问题是如何为单选按钮做这个?我需要有吗?表中是/否列,所以当我选择一个值为的表行时,比如说'是',以便在表单上选择是的单选按钮?
答案 0 :(得分:1)
这取决于。是应用于基础表数据的单选按钮部分的值(即来自您的学生对象)吗?如果是,那么,不,你不必拥有是/否列,尽管如果你试图对它做出决定它可能是有用的。相反,您只需从学生对象中提取它。
我会将yes / no值显示为列如果它与decsion制作过程相关。
如果您要用来设置单选按钮的值不是学生的一部分,那么您需要做出一些决定。
就个人而言,我会创建一个表示行状态的包装器对象,这将包括学生对象以及您可能需要的任何其他相关详细信息。这使数据自包含,并使访问该信息更容易。
如果这不合适,那么,是的,您可能需要将值显示为列并将其作为表模型中的单独值维护。
这也将归结为您如何实施表格模型
更新了OP的反馈
好的,那就是你的student
对象牌。您可以从boolean
获取student
属性(通过单选按钮开始在屏幕上显示)并做出选择......
trueRadioButton.setSelected(booleanValue);
trueRadioButton.setSelected(!booleanValue);
使用JCheckBox
代替......
checkBox.setSelected(booleanValue);
答案 1 :(得分:0)
您可以通过ButtonGroup
:
group.getSelected(button.getModel(), true);
答案 2 :(得分:0)
if (result.getString(5).equals("Male")) {
jRadioButton1.setSelected(true);
} else {
jRadioButton2.setSelected(true);
}
答案 3 :(得分:-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);