I have a JFrame form with labels, text fields, a combo box and a button group that has 2 radio buttons. In another form I have a JTable filled with data about students (student id, name...), and when I select a row from a table, the form opens and its field need to be filled with same values (eg. if Peter Peterson was selected from the table, then his name should be shown in text filed Name on the form, so I did txtfieldName.setText(student.getName), my question is how do I do this for radio button? Do I need to have yes/no column in the table, so when I select a table row where the value is, say, ''yes'' in order to have yes radio button selected on the form?
相关问题
- Delete Messages from a Topic in Apache Kafka
- Jackson Deserialization not calling deserialize on
- How to maintain order of key-value in DataFrame sa
- StackExchange API - Deserialize Date in JSON Respo
- Difference between Types.INTEGER and Types.NULL in
This depends. Is the value that is being applied to the radio button part of the underlying table data (ie from your student object)? If it is, then, no, you don't HAVE to have yes/no column, although it might be of use if you are trying to make decisions on it. Instead, you would simply extract it from the student object.
I would display the yes/no value as a column If it was relevant to the decsion making process.
If the value you want to use to set the radio button is NOT part of the student oect then you need to make some decisions.
Personally, I would create a wrapper object that represented the state of the row, this would include the student object and any other relevant details you might want. This makes the data self contained and makes accessing that information easier.
If that wasnt desirable, then, yes, you would need to probably display the value as a column and maintain it as separate value within the table model.
This will also come down to how you've Implemented the table model
Updated with feedback from the OP
Okay, so, with your
student
object hand. You can get theboolean
property from thestudent
(that is begin represented on the screen by you radio buttons) and make a choice...You could make it even more simpler by using a
JCheckBox
instead...You select the radio buttons through the
ButtonGroup
:group.getSelected(button.getModel(), true);
You don't have to know which radio button is selected a priori, so you don't have to have that information in the table if you don't want to. You can instantiate both radio buttons with the 'selected' parameter set to false: