Änderung des Wertes von JCheckBox in einer JTable

Status
Nicht offen für weitere Antworten.

Balbes

Mitglied
Hallo,
ich habe eine JTable, welche in ihrer Zellen JCheckBoxen hat. Wenn der Benutzer eine Zeile in der Tabelle markieren will, klickt er mit der Maus auf eine der Zellen in deiser Zeile und sie wird gefärbt.
Wenn er aber dabei auf eine Zelle klickt, die den JCheckbox enthält, ändert er seinen Wert. Von 'selected' in 'non-selected' und umgekehrt. Das ist natürlich ein unerwünschtes Nebeneffekt. Eine Idee ist so zu machen, dass der JCkeckBox seinen Wert nach einem Doppelclick ändert. Aber ist so was überhaupt möglich? Und es ist irgendwie schwierig an den CkeckBox ranzukommen. Solche Code, z.B., funktioniert nicht:

Java:
checkbox.addMouseListener(new MouseAdapter(
  public void mouseClicked(MouseEvent e){
    if (e.getClickCount() == 2){
      System.out.println(" double click" );
   }
 }
});

Ich denke, weil der CheckBox sich eben in der Tabelle befindet. Ist er auf einer Panel, funktioniert die Code okay.
Eine andere Variante ist, dass der JCheckBox seinen Wert ändert, wenn genau auf ihn geklickt wird, und nicht auf die Zelle, welche ihn enthält. Aber wie wird das gemacht? Hat jemand damit schon konfrontiert und weiss vielleicht eine Lösung?
 

KrokoDiehl

Top Contributor
Wenn du keinen eigenen TableCellEditor in die Tabelle gesetzt hast, könntest du es damit probieren:
Java:
TableColumn column = meineTabelle.getColumnModel().getColumn( indexMeinerCheckboxSpalte );
TableCellEditor editor = column.getCellEditor();
if (editor instanceof DefaultCellEditor)
    ((DefaultCellEditor)editor).setClickCountToStart(2);

Ansonsten wird im TableCellEditor behandelt, wann editiert wird. D.h. du musst die Methode
Code:
shouldSelectCell()
so überschreiben, dass sie true zurückliefert (für die Checkbox). Das müsste genau das tun, was du wünschst.
 
Zuletzt bearbeitet:

Balbes

Mitglied
Nein, es ist irgendwe keine Lösung oder ich vestehe nicht. Mir geht es nicht darum, dass die Zelle / Zeile markiert oder selektert wird, wenn ich auf CheckBox klicke, sondern umgekehrt, dass, wenn ich auf die Zelle, die den Checkbox enthält, klicke, aber nicht auf den Checbox selbst, sondern neben ihn, jedoch innerhab der ihn beinhaltenden Zelle, ändert er seinen Wert. Es ist auf dem Bild zu sehen, das ich zugefügt habe.
checbox.jpg

Das will ich aber nicht.
 

KrokoDiehl

Top Contributor
Achso ok.
Dann denke ich musst du einen eigenen CellEditor schreiben und die Methoden
Code:
boolean isCellEditable(EventObject)
und
Code:
boolean shouldSelectCell(EventObject)
entsprechend implementieren. Dort könntest du prüfen, ob das EventObjekt ein MouseEvent ist und dann fängts wohl an mit rechnen: Wohin wurde geklickt, auf die Checkbox oder daneben... Das stelle ich mir nicht trivial vor.
Ob es eine andere Möglichkeit gibt, weiß ich nicht, bin aber auf noch nichts derartiges gestoßen.
 

Balbes

Mitglied
Das mit dem ((DefaultCellEditor)editor).setClickCountToStart(2); hat geholfen! Musste nur richtig einsetzen. Danke, KrokoDiehl!!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P JTable Listener für die Änderung einzelner Zellen oder Rows AWT, Swing, JavaFX & SWT 2
melaniemueller Reaktion auf Änderung im Kombinationsfeld AWT, Swing, JavaFX & SWT 5
E Swing Componenten werden nach Änderung des display modes verzerrt dargestellt AWT, Swing, JavaFX & SWT 8
kodela Swing Letzte Änderung in der Tabelle wird nicht gespeichert AWT, Swing, JavaFX & SWT 5
T Swing Änderung des ActionListener Events nach Klick auf JButton AWT, Swing, JavaFX & SWT 2
L JSplitPane - auf Änderung reagieren AWT, Swing, JavaFX & SWT 4
S Swing Bild auf jPanel nach Änderung von JComboBox zeichnen AWT, Swing, JavaFX & SWT 4
G JScrollPane reagiert nicht auf Änderung der JPanel-Größe AWT, Swing, JavaFX & SWT 4
A Swing Suche Listener für beliebige Änderung an GUI Items/Controls AWT, Swing, JavaFX & SWT 8
TheWhiteShadow JList-Inhalt nach Änderung weg AWT, Swing, JavaFX & SWT 3
H Swing Auf Änderung bei JRadioButton reagieren. AWT, Swing, JavaFX & SWT 3
C Swing Änderung der Tastatur-Navigation in einer JTable AWT, Swing, JavaFX & SWT 4
G Components erscheinen erst bei Änderung des Frames AWT, Swing, JavaFX & SWT 3
N Swing Dynamisches Verhalten bei Änderung Fenstergröße AWT, Swing, JavaFX & SWT 6
P Bilder werden nach Änderung nicht angezeigt AWT, Swing, JavaFX & SWT 15
P Swing Event das ausgelöst wird, sobald Änderung der Größe Abgeschlossen ist AWT, Swing, JavaFX & SWT 4
D LayoutManager GridBagLayout, Änderung zur Laufzeit AWT, Swing, JavaFX & SWT 4
jueki Event bei Änderung der Spaltenbreite in einem JTable AWT, Swing, JavaFX & SWT 15
S Swing JTable nach einer Änderung einer Zelle komplett aktualisieren. AWT, Swing, JavaFX & SWT 10
Milady Swing Änderung von Daten mit sql AWT, Swing, JavaFX & SWT 2
E 2 Frames - eine Änderung AWT, Swing, JavaFX & SWT 4
T JTable erst nach Änderung der Spaltenbreite neu zeichnen AWT, Swing, JavaFX & SWT 10
I Swing Bild wird erst bei manueller Änderung der Fenstergrösse gezeichnet AWT, Swing, JavaFX & SWT 3
hdi Swing setPreferredSize zeigt keine Änderung AWT, Swing, JavaFX & SWT 2
F JFrame Änderung der Größe erkennen AWT, Swing, JavaFX & SWT 2
J Font Änderung nach Editorwechsel? AWT, Swing, JavaFX & SWT 3
M JTable alte Daten vor Änderung abfangen AWT, Swing, JavaFX & SWT 11
S Wichtige Frage zu JTextField-Reaktion auf Änderung des Inhal AWT, Swing, JavaFX & SWT 6
B Auf Fenster Pos.Änderung reagieren und 2. Fenster andocken AWT, Swing, JavaFX & SWT 10
J jTable, welcher listener für Änderung der Spaltenbreite AWT, Swing, JavaFX & SWT 2
P Änderung der Fenstergrösse abragen und reagieren. AWT, Swing, JavaFX & SWT 3
G Bei Änderung an einem Texfeld in SWT eine Aktion AWT, Swing, JavaFX & SWT 3
S JTree - bei Änderung in DB neu zeichnen AWT, Swing, JavaFX & SWT 5
G Dringend ! SWT-Table übernimmt Änderung nicht AWT, Swing, JavaFX & SWT 2
B JTable - Letzte Änderung wird nicht übernommen AWT, Swing, JavaFX & SWT 5
G Auf Fenstergrößen-Änderung reagieren AWT, Swing, JavaFX & SWT 10
J JTable Änderung erst beim Zeilenwechsel AWT, Swing, JavaFX & SWT 5
M JTree nach LaF-Änderung komisch AWT, Swing, JavaFX & SWT 4
M GUI-Repaint nach Änderung der Fenstergröße AWT, Swing, JavaFX & SWT 2
E Swing Rückgabe eines Wertes aus einem Dialog zu einem Dialog AWT, Swing, JavaFX & SWT 4
O Zeilen in JTable auf Grund eines Wertes einfärben AWT, Swing, JavaFX & SWT 6
G Frage zu MouseListener und speichern des Wertes (reflektion? AWT, Swing, JavaFX & SWT 6
S int-berechnung des RGB-Wertes ohne neue Instanz? AWT, Swing, JavaFX & SWT 9
J Falsches Rendern durch JCheckBox in eigenem JTree AWT, Swing, JavaFX & SWT 6
C JCheckBox disabled text color AWT, Swing, JavaFX & SWT 9
S JRadioButton und JCheckBox im JTree AWT, Swing, JavaFX & SWT 14
B JCheckBox ausrichten ? AWT, Swing, JavaFX & SWT 1
Paul15 JCheckBox und JToggleButton AWT, Swing, JavaFX & SWT 5
M Swing JCheckbox Namen vergeben? AWT, Swing, JavaFX & SWT 5
E Zustand der JCheckBox abfragen AWT, Swing, JavaFX & SWT 1
D JCheckbox und JSpinner in JTable AWT, Swing, JavaFX & SWT 9
K Swing JCheckbox ändern AWT, Swing, JavaFX & SWT 3
N ChangeListener und jCheckBox AWT, Swing, JavaFX & SWT 3
B JTable inkl. JCheckbox AWT, Swing, JavaFX & SWT 5
StrikeTom JCheckBox in JTable AWT, Swing, JavaFX & SWT 6
A Swing JCheckbox transparent machen AWT, Swing, JavaFX & SWT 7
G Swing JCheckBox, setEnabled(false) und HTML Text Problem AWT, Swing, JavaFX & SWT 5
Z Swing JCheckBox in einer JTable AWT, Swing, JavaFX & SWT 8
B JCheckbox ja oder nein AWT, Swing, JavaFX & SWT 3
O Jcheckbox Status nachträglich abfragen AWT, Swing, JavaFX & SWT 2
C Swing JCheckBox setEditable(false)? AWT, Swing, JavaFX & SWT 9
X Swing JCheckbox in JTable AWT, Swing, JavaFX & SWT 6
F DefaultTableCellRenderer blendet JCheckBox aus AWT, Swing, JavaFX & SWT 4
Burny91 Swing JCheckBox in JList einbetten AWT, Swing, JavaFX & SWT 4
K JCheckBox datenstruktur AWT, Swing, JavaFX & SWT 10
J Swing JCheckBox enabled, aber graues Kästchen AWT, Swing, JavaFX & SWT 2
S Swing Problem mit JCheckBox auf JPanel in JScrollPane AWT, Swing, JavaFX & SWT 8
C JCheckBox Kreuz statt Haken AWT, Swing, JavaFX & SWT 7
S Swing Werte einer Jcheckbox aus eine Klasse A in eine Klasse B aufrufen AWT, Swing, JavaFX & SWT 6
S GUI blocked after checked a JcheckBox AWT, Swing, JavaFX & SWT 2
S JCheckBox Paint AWT, Swing, JavaFX & SWT 7
M JCheckBox Icon anpassen AWT, Swing, JavaFX & SWT 2
E Matrix mit JCheckBox AWT, Swing, JavaFX & SWT 29
S Frage zu JCheckBox AWT, Swing, JavaFX & SWT 2
T Swing JCheckBox: Wie getState() abfragen? AWT, Swing, JavaFX & SWT 2
FoolMoon Swing JCheckBox neben Text in einer Tabelle AWT, Swing, JavaFX & SWT 2
J Icon einer JCheckBox AWT, Swing, JavaFX & SWT 6
E Swing Wechsel in JCheckBox abfangen AWT, Swing, JavaFX & SWT 10
S JCheckBox AWT, Swing, JavaFX & SWT 9
D JTable - JCheckbox und Renderer AWT, Swing, JavaFX & SWT 2
V JCheckBox in JTable AWT, Swing, JavaFX & SWT 3
T JCheckBox deselektieren (Haken wieder entfernen) - wie? AWT, Swing, JavaFX & SWT 5
W JRadioButton / JCheckBox problem AWT, Swing, JavaFX & SWT 6
K JCheckBox in einer JTable auswählbar machen AWT, Swing, JavaFX & SWT 2
J Listener erkennt Deselektierung von JCheckbox nicht AWT, Swing, JavaFX & SWT 13
T Dynamische Anpassung einer jCheckBox AWT, Swing, JavaFX & SWT 11
T JCheckBox ohne "Box"? AWT, Swing, JavaFX & SWT 6
H JCheckBox - Ist die Abfrage wirklich so umständlich ? AWT, Swing, JavaFX & SWT 3
A Problem der Größe von JCheckBox nach Hinzufügen eines Popups AWT, Swing, JavaFX & SWT 2
F Wie Item Listener zu JCheckBox(in JTable) hinzufügen? AWT, Swing, JavaFX & SWT 6
M JCheckbox, das selektieren verhindern AWT, Swing, JavaFX & SWT 9
M JCheckBox Standard MouseListener entfernen AWT, Swing, JavaFX & SWT 13
A JCheckBox abfragen AWT, Swing, JavaFX & SWT 6
J Variabler VariablenIdentifier - JCheckBox AWT, Swing, JavaFX & SWT 9
I JTree und JCheckbox Problem AWT, Swing, JavaFX & SWT 4
G jCheckBox AWT, Swing, JavaFX & SWT 8
G JMenu problem mit der Breite von einer JCheckBox AWT, Swing, JavaFX & SWT 2
D Seltsamer Rahmen bei JCheckBox AWT, Swing, JavaFX & SWT 7
G JCheckBox mit Text und Icon AWT, Swing, JavaFX & SWT 5
M JCheckbox in JCombobox AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben