我刚刚开始学习Java。我似乎陷入了一个我希望Java为我做的特定事情。
我想让两个jRadioButtons与jTable一起工作。 jRadioButton 1应显示“Yes”,而jRadioButton 2应显示“No”。
但是,在尝试向jtable添加行时,我得到的是一种错误消息。
而不是我的单选按钮显示“是/否”,它们显示“javax.swing.JToggleButton$ToggleButtonModel@2a93a9f2”。任何想法这个'错误信息'是什么意思?我用谷歌搜索,但无法找到它的事情。提前谢谢。
编辑: 我添加了这个字符串:
public String Tapp;
我的radiobuttons:
private void jRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Tapp = "Yes";
}
private void jRadioButton2ActionPerformed(java.awt.event.ActionEvent evt) {
Tapp = "No";
}
和我的jtable的“添加”按钮我有这个。 我的buttongroup被称为“bgButtonGroup”。
private void bAdd11ActionPerformed(java.awt.event.ActionEvent evt) {
ErrorMessage.setText("");
DefaultTableModel model3;
model3 = (DefaultTableModel) tblProduct11.getModel();
if(!tfChassi.getText().trim().equals("")){
model3.addRow(new Object[]{
tf1.getText(),
tf2.getText(),
tf3.getText(),
cb1.getSelectedItem().toString(),
cb2.getSelectedItem().toString(),
cb3.getSelectedItem().toString(),
cb4.getSelectedItem().toString(),
tf4.getText(),
tf5.getText(),
bgButtonGroup.getSelection()});
答案 0 :(得分:1)
bgButtonGroup.getSelection()
这将返回所选单选按钮的模型,而不是其文本。如果您将操作命令设置为单选按钮,则可以按bgButtonGroup.getSelection().getActionCommand()
获取文本。例如,使用yesRadioButton
创建yesRadioButton.setActionCommand("Yes")
设置为“是”作为操作命令后。
private void bAdd11ActionPerformed(java.awt.event.ActionEvent evt) {
ErrorMessage.setText("");
DefaultTableModel model3;
model3 = (DefaultTableModel) tblProduct11.getModel();
if(!tfChassi.getText().trim().equals("")){
model3.addRow(new Object[]{
tf1.getText(),
tf2.getText(),
tf3.getText(),
cb1.getSelectedItem().toString(),
cb2.getSelectedItem().toString(),
cb3.getSelectedItem().toString(),
cb4.getSelectedItem().toString(),
tf4.getText(),
tf5.getText(),
bgButtonGroup.getSelection().getActionCommand()
}
);