Doppelclick bei JTable

nieselfriem

Bekanntes Mitglied
Hallo Momentan habe ich folgende Implementierung bei der Auswahl und Bearbeitung von JTable-Inhalten.

Ich wähle die Zeile aus. Eine Methode gibt mir die die Daten der Zeile zurück. Diese Daten übergebe ich dann einem JDialog in dem ich dann diese Daten ändern kann um dann ein UPDATE zu MySQL zu senden.
Nur geschieht es momentan noch mit Zeile auswählen und Button drücken. Nun möchte ich es jedoch gern mit einem Doppelklick auf die Zeile erreichen
Dazu habe ich einfach die Methode die in der JButtonActionPerformed -Methode steckt wie folgt an ein MouseListener eingefügt.
Java:
tab.addMouseListener(new MouseAdapter() { //tab = new JTable(dftm); DefaultTableModel

            public void mouseClicked(MouseEvent e) {
                if (e.getClickCount() == 2) { //Doppelclick
                    String id, name, vorname;
                    int ids;
                    TableOperations tbo = new TableOperations();
                    try {
                        id = tbo.getId(tab);//ID aus erster Spalte der Zeile
                        name = tbo.getName(tab);
                        vorname = tbo.getVorname(tab);
                        ids = Integer.parseInt(id);

                        UpdateDialog ud = new UpdateDialog(this, true, ids, conn, name, vorname);//UpdateDialog
                        ud.setVisible(true);

                    } catch (Exception e) {
                        JOptionPane.showMessageDialog(this, "Eine Auswahl treffen" + e.getMessage(),
                                "Error", JOptionPane.ERROR_MESSAGE);
                    }

                }
                ) ;

    }

Funktioniert natürlich nicht. Nur ich kann die Fehlermeldung die mir Netbeans sofort anzeigt nicht deuten.
Ich denke da läuft im Grundlegenden bei meinem Gedankengang was verkehrt
Ich hoffe ihr könnt mir auf die Sprünge helfen

Gruß
 

HoaX

Top Contributor
Und wir dürfen jetzt alle Raten wie die Meldung lautet? So kann man seinen Abend natürlich auch vertrödeln ... gibts wenigstens was zu gewinnen wie beim Jauch?
 

nieselfriem

Bekanntes Mitglied
}); -->Illegal start of Expression. Die letzte } habe ich noch entfernt und somit ebenfalls einige Fehler entfernt. Nu eben das vordere macht noch syntaktische Probleme.

Sorry
 

eRaaaa

Top Contributor
- MouseEvent e und Exception e würde ich erst einmal eines umbenennen ;D
- Dein Bezog mit [c]this[/c] wird wohl nicht gehen, weil this in dem Moment auf die innere Klasse, also auf den MouseAdapter referenziert
- Joah und dann die Sache mit den Klammern ^^

Vllt irgendwie so: :autsch:
Java:
		tab.addMouseListener(new MouseAdapter() {
			public void mouseClicked(MouseEvent e) {
				if (e.getClickCount() == 2) {
					String id, name, vorname;
					int ids;
					TableOperations tbo = new TableOperations();
					try {
						id = tbo.getId(tab);// ID aus erster Spalte der Zeile
						name = tbo.getName(tab);
						vorname = tbo.getVorname(tab);
						ids = Integer.parseInt(id);

						UpdateDialog ud = new UpdateDialog(AUESSEREKLASSE.this, true, ids,
								conn, name, vorname);// UpdateDialog
						ud.setVisible(true);
					} catch (Exception ex) {
						JOptionPane.showMessageDialog(AUESSEREKLASSE.this,
								"Eine Auswahl treffen" + ex.getMessage(),
								"Error", JOptionPane.ERROR_MESSAGE);
					}
				}
			}
		});
 

nixnick

Mitglied
das dürfte immernoch "accessing variable in inner class - make variable final bla bla" werfen, ich bezweifle auch das ÄUSSEREKLASSE.this funktioniert, wenn dann eine static variable die das aktuelle objekt der äußeren klasse referenziert.
einfacher ist aber(so wie netbeans es auch macht) eine einzelne methode in "ÄUSSEREKLASSE", die von dem mouseListener aufgerufen wird:

netbeans generiert dabei:
Java:
private void mainListMouseClicked(java.awt.event.MouseEvent evt) {                                      
       //TODO implement
    }

ich mache daraus:
Java:
int firstClickedRow;
private void mainListMouseClicked(java.awt.event.MouseEvent evt) {                                      
        if(evt.getButton()!=1)
            return;
        if(evt.getClickCount()>1)
        {
            firstClickedRow=mainList.getSelectedRow();
            doubleClicked();
        }

    }
 private void doubleClicked()
    {
        System.out.println(mainList.getRowSorter().convertRowIndexToModel(firstClickedRow));
        dbHandler.playSong(mainList.getRowSorter().convertRowIndexToModel(firstClickedRow));
    }
 

eRaaaa

Top Contributor
das dürfte immernoch "accessing variable in inner class - make variable final bla bla" werfen, ich bezweifle auch das ÄUSSEREKLASSE.this funktioniert, wenn dann eine static variable die das aktuelle objekt der äußeren klasse referenziert.

???:L , woran machst du den ersten Teil fest und wieso sollte Aueßere.this nicht gehen? (klar, außer das ist gar keine Component ;D )
 

nixnick

Mitglied
ich merke gerade: außer AUESSEREKLASSE.this wird ja nichts von außen referenziert, schuligung, meine dummheit.

ÄUSSEREKLASSE.this wird mir in dem sinne nicht klar, da ÄUSSEREKLASSE eine klasse ist und java ja nicht weiß, welches konkrete objekt von äußereklasse wir wollen (ganz zu schweigen davon, dass java nicht weiß, dass es nur eins gibt bzw. die klasse nicht mit dem objekt in verbindung bringt (umgekehrt schon, das is klar))
ich meine eben, dass man wenn überhaupt eine statische variable in ÄUSSEREKLASSE benutzen müsste, die eine referenz auf ein objekt der klasse beinhaltet.
im endeffekt: (ich fasse meine verwirrten gedankengänge zusammen)
ich bin der meinung, das *.this nur bei objekten funktioniert, nicht bei klassen.
 

eRaaaa

Top Contributor
Die this-Referenz

Möchte eine innere Klasse In auf die this-Referenz der umgebenden Klasse Out zugreifen, schreiben wir Out.this. Wenn sich Variablen überdecken, so schreiben wir Out.this.Eigenschaft, um an die Eigenschaften der äußeren Klasse zu gelangen.
Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 9.2 Geschachtelte (innere) Klassen, Schnittstellen, Aufzählungen


ich bin der meinung, das *.this nur bei objekten funktioniert, nicht bei klassen.
den Satz finde ich etwas verwirrend? :)
Meinst du damit, dass soetwas:
Java:
class Foo {
	int x;

	public Foo(int x) {
		//this.x = x;
		Foo.this.x = x;
	}
}

nicht geht? :)
 

nixnick

Mitglied
nach einigem rumprobieren merke ich, dass du recht hast, und es doch funktioniert, ich dödel hab das kapitel sogar erst vor n paar monaten gelesen :S

mea culpa, alles richtig, trotzdem finde ich meine methode mit doubleClicked() auch toll ;D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Q-bert Doppelclick auf einem List item AWT, Swing, JavaFX & SWT 9
I Swing JTable zeichnet kein vertical Grid AWT, Swing, JavaFX & SWT 6
J Drag und drop aus einer JTable - bitte um Unterstützung AWT, Swing, JavaFX & SWT 2
S HPRO und UPRO gemeinsame JTABLE gemeinsamer RENDERER ? AWT, Swing, JavaFX & SWT 1
F Swing JTable - MultiHeader inkl. Eingabemöglichkeit AWT, Swing, JavaFX & SWT 1
S JTable - Feldinhalte anzeigen AWT, Swing, JavaFX & SWT 15
D Swing JTable Spaltenbreite AWT, Swing, JavaFX & SWT 1
W Gibt es einen "automatischen Listener" in Swing oder JTable oder der ATM-Klasse? AWT, Swing, JavaFX & SWT 14
G jTable - getSelectedRow() AWT, Swing, JavaFX & SWT 3
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
P JTable Listener für die Änderung einzelner Zellen oder Rows AWT, Swing, JavaFX & SWT 2
D Tastaturabfragen CTRL+t, CTRL+E bei eine JTable, bestehend aus JTextAteas AWT, Swing, JavaFX & SWT 4
P Checkboxes in JTable nicht editable AWT, Swing, JavaFX & SWT 9
F Best-Practise: JTable Text in Zelle zu groß AWT, Swing, JavaFX & SWT 2
izoards JTable in CSV File schreiben... AWT, Swing, JavaFX & SWT 23
Kohl Jedes Objekt einer JTable um ein Zeichen verkürzen AWT, Swing, JavaFX & SWT 7
I JTable, DefaultTableModel, zwei Zahlen multiplizieren. AWT, Swing, JavaFX & SWT 26
M JTABLE / wie oft wurde gewürfelt. AWT, Swing, JavaFX & SWT 1
F JTable vergrößern AWT, Swing, JavaFX & SWT 2
H JTable: Diverse NullPointer-Exceptions zur Laufzeit AWT, Swing, JavaFX & SWT 3
J Swing Werte des JTable werden nicht angezeigt AWT, Swing, JavaFX & SWT 9
T Swing JTable cellRenderer mit jpg Hintergrundfarbe lässt sich nicht ändern. AWT, Swing, JavaFX & SWT 1
HoT Einzelne Zelle in JTable Rahmen unten setzen AWT, Swing, JavaFX & SWT 24
B JTable Zellen zusammenfügen AWT, Swing, JavaFX & SWT 3
M Swing Cell Renderer für Zeilenumbruch in JTable AWT, Swing, JavaFX & SWT 0
H JTable im JSplitPane darstellen AWT, Swing, JavaFX & SWT 2
MadMax2506 Swing JTable lädt sehr lange AWT, Swing, JavaFX & SWT 1
D Zeilenumbruch in einer JTable AWT, Swing, JavaFX & SWT 9
R Swing JTable und Spaltenausrichtung AWT, Swing, JavaFX & SWT 8
G JTable füllen AWT, Swing, JavaFX & SWT 1
H JTable TableCellEditor-Problem AWT, Swing, JavaFX & SWT 0
W Swing JTable Zeilenumbruch innerhalb einer Zelle AWT, Swing, JavaFX & SWT 3
J Datensatz in jTable ausgeben AWT, Swing, JavaFX & SWT 3
M Swing Automatischer Editorstart in JTable-Zelle AWT, Swing, JavaFX & SWT 5
ralfb1105 Swing JTable aktualisieren AWT, Swing, JavaFX & SWT 5
adiko01 JTable: Nur markierte Zeilen aus der Tabelle in CSV exportiern AWT, Swing, JavaFX & SWT 9
M JTable.setDefaultRenderer(...) greift nicht AWT, Swing, JavaFX & SWT 0
J JTable: Eingabe in Tabellenzelle korrigieren AWT, Swing, JavaFX & SWT 4
T Problem mit JTable Sortierung AWT, Swing, JavaFX & SWT 2
D JTable nach INSERT aktualisieren /refreshen AWT, Swing, JavaFX & SWT 1
D MySQL Daten in JTable anzeigen AWT, Swing, JavaFX & SWT 2
H Swing Jtable extra spalte AWT, Swing, JavaFX & SWT 6
S Swing Rechteck über JTable zeichnen (per MouseListener) AWT, Swing, JavaFX & SWT 1
S Swing Mal wieder JTable Ansicht aktualisieren AWT, Swing, JavaFX & SWT 10
A JTable mit Daten füllen AWT, Swing, JavaFX & SWT 1
VfL_Freak Swing Einzelne Zeile in jTable selektieren klappt nicht AWT, Swing, JavaFX & SWT 7
N AWT jTable CellRenderer AWT, Swing, JavaFX & SWT 6
T Swing JTable valueChanged datensatz löschen AWT, Swing, JavaFX & SWT 1
0 Swing JTable aus anderer Klasse updaten AWT, Swing, JavaFX & SWT 5
S Jtable defaultRenderer wohin damit ? AWT, Swing, JavaFX & SWT 23
T Swing JTable / FocusListener AWT, Swing, JavaFX & SWT 0
it_is_all Warum wird die JTable im JDialog nicht angezeigt? AWT, Swing, JavaFX & SWT 1
L Swing JTable im Panel darstellen AWT, Swing, JavaFX & SWT 8
T Swing Double Click bei Buttons in JTable AWT, Swing, JavaFX & SWT 9
J addRow bei JTable AWT, Swing, JavaFX & SWT 6
M Jtable gibt -1 wert bei selectedRow und Column AWT, Swing, JavaFX & SWT 3
Meeresgott Swing JTable AWT, Swing, JavaFX & SWT 4
J JTable Selection Listener funktioniert nicht AWT, Swing, JavaFX & SWT 4
C Swing Daten in JTable wiedergeben per TableModel und MVC Pattern AWT, Swing, JavaFX & SWT 16
Z Swing Drag&Drop zwischen JTable und JTree AWT, Swing, JavaFX & SWT 4
Thallius JTable dynamisch Spaltenanzahl verändern AWT, Swing, JavaFX & SWT 2
Thallius JTable dynamisch laden? AWT, Swing, JavaFX & SWT 2
B Swing JTable sortieren AWT, Swing, JavaFX & SWT 2
T Swing JTable auslesen und befüllen AWT, Swing, JavaFX & SWT 8
B JTable wird nicht angezeigt AWT, Swing, JavaFX & SWT 1
J JTable und Suchlogik AWT, Swing, JavaFX & SWT 4
Viktim Swing JTable mit Tab verlassen AWT, Swing, JavaFX & SWT 1
F Swing Spaltenbreite einer Column eines JTable auslesen AWT, Swing, JavaFX & SWT 5
Viktim Swing JTable Mit Tab druch Zeilen Wechseln AWT, Swing, JavaFX & SWT 5
Thallius Warum refrehsed mein JTable nicht? AWT, Swing, JavaFX & SWT 5
Ghostman1711 Hinzufügen ausgewählter Dateinen des Filechoosers zu einem JTable AWT, Swing, JavaFX & SWT 9
S Swing JTable - Einzelne Rows einfärben AWT, Swing, JavaFX & SWT 11
M Wert einer Zelle aus JTable ziehen AWT, Swing, JavaFX & SWT 4
K JTable getValueAt() klappt nicht immer AWT, Swing, JavaFX & SWT 1
K JTable in extra Klasse, Zugriff in einer anderen klasse nicht möglich AWT, Swing, JavaFX & SWT 26
B Swing Tabelle(JTable) filtern swing GUI AWT, Swing, JavaFX & SWT 3
P JTable - bei Eingabe Selektion AWT, Swing, JavaFX & SWT 0
P Fokus auf Zelle in JTable AWT, Swing, JavaFX & SWT 1
S Swing Deselektion in JTable verhindern AWT, Swing, JavaFX & SWT 0
D Problem mit JTable AWT, Swing, JavaFX & SWT 1
N Swing Print JTable mit AbstractTableModel AWT, Swing, JavaFX & SWT 1
Ananaskirsche Swing jTable Reihen zuviel eingefügt AWT, Swing, JavaFX & SWT 12
P im JTable die Schriftfarbe ändern AWT, Swing, JavaFX & SWT 19
T Swing JTable wird nicht angezeigt AWT, Swing, JavaFX & SWT 4
S Dreiecke in bestimmte Zellen einer JTable AWT, Swing, JavaFX & SWT 9
LexeB4F Zelle in JTable gezielt einfärben AWT, Swing, JavaFX & SWT 4
LexeB4F JTable mehrere Zelle selektieren und inhalte Löschen.. Ideen gesucht AWT, Swing, JavaFX & SWT 1
D Swing JTable Renderer Grafikfehler AWT, Swing, JavaFX & SWT 0
K Swing JTable mit ImageIcon und Text in einer Zelle AWT, Swing, JavaFX & SWT 1
M Swing JTable GroupableHeader Background Color AWT, Swing, JavaFX & SWT 4
K Swing JTable updaten AWT, Swing, JavaFX & SWT 9
thet1983 Swing MySQL >> JTable AWT, Swing, JavaFX & SWT 5
J JTable bounds ändern durch resizing des Fensters AWT, Swing, JavaFX & SWT 9
F JTable Zellen-Hintergrund ändern AWT, Swing, JavaFX & SWT 7
O JTable linksbündig drucken (nicht der Zelleninhalt) AWT, Swing, JavaFX & SWT 2
Crazynet xls Datei in JTable AWT, Swing, JavaFX & SWT 3
O JTable ohne Rahmen printen AWT, Swing, JavaFX & SWT 3
L Swing JTable refresht die Column Namen nicht AWT, Swing, JavaFX & SWT 0
K JTable komplett durch andere ersetzen AWT, Swing, JavaFX & SWT 4
S JTable übernimmt Änderungen nicht AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben