2016-05-07 6 views
0

Ich habe gerade angefangen Java zu lernen. Ich glaube, dass ich an einer bestimmten Sache festhalte, die ich gerne für mich tun würde.jRadioButton Wert in jTabelle

Ich möchte zwei jRadioButtons zusammen mit einem jTable arbeiten. jRadioButton 1 sollte "Yes" anzeigen, während jRadioButton 2 "No" anzeigen sollte.

Alles, was ich bekomme, ist jedoch eine Art Fehlermeldung, wenn ich versuche, meine Jtable Zeile hinzuzufügen.

Anstelle meiner Radiobuttons, die "Ja/Nein" anzeigen, wird "[email protected]" angezeigt. Irgendwelche Ideen was diese "Fehlermeldung" bedeutet? Ich habe gegoogelt, kann aber nichts finden. Danke im Voraus.

EDIT: Ich habe diese Zeichenfolge:

public String Tapp; 

Meine Auswahlknöpfe:

private void jRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) {            
Tapp = "Yes"; 
} 

private void jRadioButton2ActionPerformed(java.awt.event.ActionEvent evt) {            
Tapp = "No"; 
}            

und auf die Schaltfläche "Hinzufügen" für meine jtable ich das haben. Meine Buttongroup heißt "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

Sie müssen dafür einen CellRenderer erstellen. Sehen Sie sich [hier] an (http://www.java2s.com/Code/Java/Swing-Components/RadioButtonTableExample.htm) – rdonuk

+0

@rdonuk Ich möchte nicht die eigentliche Schaltfläche innerhalb der Jtable, ich will nur den Text von " Ja "oder" Nein "in der Spalte. Ich füge Daten über jcomboboxes, textfields und eventuell ... jradiobuttons hinzu ... ist diese Renderer-Sache noch relevant? Danke für deine Antwort. –

+0

Ich glaube nicht, dass ich Ihr Problem verstehe. Bitte teilen Sie einen Code mit. – rdonuk

Antwort

1

bgButtonGroup.getSelection() dies kehrt das Modell der Radiobutton ausgewählt, nicht der Text davon. Wenn Sie einen Aktionsbefehl für Ihre Optionsfelder festlegen, können Sie den Text unter bgButtonGroup.getSelection().getActionCommand() abrufen. Zum Beispiel nach erstellen Sie Ihre yesRadioButton setzen Sie "Ja" als Aktion Befehl dafür mit 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() 
     } 
    ); 
+1

Was kann ich sagen ...? Es hat perfekt funktioniert. Vielen Dank für Ihre Freundlichkeit, einem dummen Anfänger wie mir zu helfen. Du hast mein Wochenende gemacht, @rdonuk! :)) –

Verwandte Themen