Hinzufügen jRadioButton in jTable
Ich versuche, fügen Sie jRadioButton
in jTable
. Ich verwendet den angegebenen code
private class CustomCellRenderer extends DefaultTableCellRenderer {
/* (non-Javadoc)
* @see javax.swing.table.DefaultTableCellRenderer#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)
*/
@Override
public Component getTableCellRendererComponent(JTable table, Object value,boolean isSelected, boolean hasFocus, int row, int column) {
return new javax.swing.JRadioButton();
}
}
Aber wenn ich diese ausführe, erhalte ich die jTable
Spalte in einer anderen Farbe und wenn ich auf den radio-Button passiert nichts. Ich bin mit netbeans. Wenn ich versuche, Passen Sie die jTable
dann erscheint nichts in jTable
. Geben Sie mir eine richtige Führung.
- Siehe auch diese Beispiel.
- aber in einigen anderen Beispielen hatte ich auch gesehen, dass die Gruppierung der RadioButton wird nicht funktionieren, im Falle von jTable?
- Beispiel verwendet eine
JPanel
enthalten die Schaltfläche Gruppe; separate Spalten sind besprochen, in der zweiten Nachtrag hier in Antwort auf Ihr die Vorherige Frage zu diesem Thema.
Du musst angemeldet sein, um einen Kommentar abzugeben.
TableCellEditor
.JRadioButton
in Ihrem renderer und Wiederverwendung es überall, das ist der Zweck des TableCellRenderer.super.getTableCellRendererComponent
ist es nicht verlängern müssenDefaultTableCellRenderer
einfach umzusetzenTableCellRenderer
.Lesen Sie die JTable-tutorial um besser zu verstehen, die Konzepte der Renderer und Editoren.
EDIT:
Hier ist ein Beispiel, wie können Sie sich diese Arbeit machen. Natürlich müssen Sie passen Sie Ihr Modell, aber Sie sollten das wesentliche:
getTableCellRendererComponent
Methode. Stattdessen immer wieder die gleiche Komponente, aber ändern Sie entsprechend den Wert. Dies ist möglich, da die Komponente zurückgegeben wird lediglich verwendet, wie ein "Stempel" und nicht direkt an die Swing-Hierarchie. Finden Sie die Renderer und Editoren Abschnitt im tutorialÜberlegen Sie auch, mit einem
JCheckbox
statt einem radiobutton. In diesem Fall können Sie einfach an den Standard-renderer /editor, wenn IhrTableModel
enthältboolean
Werte