Gesperrte JTable auslesen bzw feldposition ermitteln

Status
Nicht offen für weitere Antworten.
Z

Zefir

Gast
Hallo Community

Ich habe ein Problem:
Ich habe ein JTable die gesperrt ist also klicks in die tabelle markieren die Felder nicht.
nun will ich durch einen Doppelklick auf eines der Felder ein Popup öffnen das mir zB weitere Daten über einen Namen liefert. Dazu muss der Name in der Zelle ausgelesen werde.
Wie schaffe ich es nun genau die Zelle zu erfassen die ich mit Doppelklick angeklickt habe ?
Danke im Vorraus
 

KrokoDiehl

Top Contributor
Ach ich Depp, sollte mal genauer lesen ... sry *nächste Tasse Kaffee such*

--> veraltet:
Wie hast du denn die Tabelle gesperrt?

Naja, jedenfalls fragt man die Mausklicks mit einem MouseListener ab:
Java:
myTable.addMouseListener( new MyMouseListener() );
//...

class MyMouseListener implements MouseListener
{
    // usw...
}

Das ist nur eine von mehreren Möglichkeiten du es mit dem MouseListener machen kannst.
 
Zuletzt bearbeitet:
U

Unregistriert

Gast
@Michael: wenn ich das einstelle und versuch mit syso auszugeben kommt fehler.

@Krokodiehl: MouseListener war mir klar aber ich bekomme es nicht hin weil der da nicht so einfach ist(soweit ich weis)
table.setEnabled(false); is der Befehl zum sperren.
 

Michael...

Top Contributor
Was für ein Fehler wird ausgegeben? Poste doch mal ein bisschen Bsp Code wie Du das umgesetzt hast.
Grundsätzlich ist da nichts komplexes dran:
1. MouseListener an die Tabelle hängen
2. in der entsprechenden Methode des Listeners/Adapters mittels MouseEvent#getPoint() die Zeile und Spalte bestimmen.
 
Z

Zefir

Gast
[JAVA=42]
private void aktualisiereTabelle() {

try{
//Abfrage definieren
String query = "SELECT * FROM Mitarbeitertabelle";
//Datenbankverbindung herstellen
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:eek:dbc:Datenbank");

Statement stmt = con.createStatement();
ResultSet rst = stmt.executeQuery(query);
ResultSetMetaData md = rst.getMetaData();



// Tabelle erzeugen
JTable table = new JTable(11,11);




// scrollTabelle.setViewportView(table);
table.setTableHeader(null);
table.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
table.setEnabled(false);
for (int i = 0; i < table.getColumnModel().getColumnCount(); i++) {
table.getColumnModel().getColumn(i).setPreferredWidth(200);
}
jScrollPane1.setViewportView(table);
table.addMouseListener(this);

....

public void mouseClicked(MouseEvent arg0) {

if(arg0.getClickCount()==2){


punkt=arg0.getPoint();
zeile =table.columnAtPoint(punkt);
spalte= table.rowAtPoint(punkt);
System.out.println(zeile+spalte);
...



[/code]
Das is der MouseListener und und seine implementierung. Genau da kommt beim doppelklick folgender fehler:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at seminare.DatenabfrageGui.mouseClicked(DatenabfrageGui.java:182)
at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
 

d.fuhri

Mitglied
Hallo
Von wo hast du die table im mouseClicked? Für mich sieht es aus als währe sie null, da sie nur in der methode aktualisiereTabelle definiert wurde...


Gruess
 

Michael...

Top Contributor
Die Tabelle auf die Du im Listener zugreifst ist auf jeden Fall nicht die Tabelle der Du den Listener anhängst.

Edit: steht ja schon im vorherigen Post
 
U

Unregistriert

Gast
hab den listener nach oben verschoben aber leider kein resultat Fehler bleibt
 

Michael...

Top Contributor
Es liegt an der Variable table. Deine Tabelle ist lokal deklariert. Im Listener greiftst Du aber auf eine globale Variable zu. Da der Code scheinbar compiliert wurde, tippe ich mal Du hast zwei Variablen die "table" heissen, aber nur die lokale ist initialisiert
--> mögliche Lösung schmeiss die lokale aus der "aktualisiereTabelle()" raus, spriche streiche das JTable vor table.

Noch eine Anmerkung: aufgrund des Methodennamen "aktualisiereTabelle()" vermute ich, dass Du die Daten der Tabelle öfters aktualierst und dabei jedes Mal eine neue Tabelle erstellst --> nicht gut
Hier unter der FAQ gibt's auch ein Tutorial zu JTable
 
Z

Zefir

Gast
Juhu habs grad geändert mit dem Jtable und ES FUNKIONIERT *freu* *spring* *macht die Welle*
Ich hassesolche kleinigkeiten die finde ich nie^^.
Das mit dem aktualiesieren schau ich mir dann auch nochmal an.
Vielen Vielen Vielen Vielen Vielen Vielen Vielen und noch mehr Dank
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
richis-fragen JTable den angezeigten WERT nicht den Wert aus dem Model ausgeben. Java Basics - Anfänger-Themen 3
richis-fragen JTable Header ausgeblendete (width = 0) nicht per mouseDragged aufziehen. Java Basics - Anfänger-Themen 9
richis-fragen JTable sowohl Spaltennamen wie auch Spaltenbeschriftungen Java Basics - Anfänger-Themen 7
richis-fragen JTable effektiv angezeigter Text ausgeben nicht Inhalt vom Model Java Basics - Anfänger-Themen 9
G JTable Listselectionlistener friert das Programm ein Java Basics - Anfänger-Themen 8
Mady Daten von JList & Combobox in JTable adden Java Basics - Anfänger-Themen 2
W Liste mit Listen in JTable darstellen Java Basics - Anfänger-Themen 1
J Zelleninhalt einer Jtable löschen Java Basics - Anfänger-Themen 2
E JTable einzelne Zelle färben Java Basics - Anfänger-Themen 2
thobren jtable arraylist Java Basics - Anfänger-Themen 12
thobren JTable Icon Java Basics - Anfänger-Themen 1
R Compiler-Fehler JTable mit XML befüllen | The constructor JTable(Object[], String[]) is undefined Java Basics - Anfänger-Themen 10
H Kapselung JProgressBar in JTable, aber getValueAt() greift nicht Java Basics - Anfänger-Themen 7
G JTable, Zeile auswählen und Ergebnis an Schaltfläche übergeben Java Basics - Anfänger-Themen 4
J Jtable Eingabe nach Klick ausserhalb der Tabelle übernehmen Java Basics - Anfänger-Themen 6
J JTable Spalteninhalt löschen Java Basics - Anfänger-Themen 1
J JTable Titel wird nicht angezeigt Java Basics - Anfänger-Themen 6
B jTable Spalte summieren Java Basics - Anfänger-Themen 7
N JTable auslesen Java Basics - Anfänger-Themen 6
O JTable in Excel mit Farben Java Basics - Anfänger-Themen 8
O Kommentar auf JTable Zelle Java Basics - Anfänger-Themen 2
M Jtable Reenderer Java Basics - Anfänger-Themen 0
O Popoup Menü im JTable richtig anzeigen Java Basics - Anfänger-Themen 6
M Jtable änderung updaten Java Basics - Anfänger-Themen 2
O JTable Suchfunktion Java Basics - Anfänger-Themen 2
M jTable bekommt null Java Basics - Anfänger-Themen 1
M JTable an andere Klasse übergeben Java Basics - Anfänger-Themen 2
M Datenbank in jTable Laden Java Basics - Anfänger-Themen 49
M Klasse in JTable einfügen Java Basics - Anfänger-Themen 7
S JTable Java Basics - Anfänger-Themen 16
S JTable mit Daten füllen Java Basics - Anfänger-Themen 7
L JTable Tagebuch Spaltenhöhe verändern Java Basics - Anfänger-Themen 3
S JTable - Filter an anderen Colums Java Basics - Anfänger-Themen 2
R JTable Suchfunktion mit SQL Daten Java Basics - Anfänger-Themen 2
C JTable update mit MySQL Datenbank Java Basics - Anfänger-Themen 1
C Best Practice JTable in MVC Pattern Java Basics - Anfänger-Themen 7
J Daten einer Textdatei in ein JTable importieren. Java Basics - Anfänger-Themen 3
A zykl. Aktualisierne JTable Java Basics - Anfänger-Themen 9
C Endlosschleife bei füllen von Daten im JTable Java Basics - Anfänger-Themen 5
C Werte aus JTable auslesen Java Basics - Anfänger-Themen 4
A Probleme beim zykl. aktulisieren von Daten in JTable Java Basics - Anfänger-Themen 3
V JTable welcher Listener ? Java Basics - Anfänger-Themen 7
D Falsche Zeile wird in JTable gelöscht Java Basics - Anfänger-Themen 6
D MySQL Abfrage in JTable speichern Java Basics - Anfänger-Themen 43
D JTable Zeile wird nicht in MySQL gelöscht Java Basics - Anfänger-Themen 16
D JTable Zeilen löschen Java Basics - Anfänger-Themen 5
C Klassen JTable wird ohne Header aufgebaut Java Basics - Anfänger-Themen 6
K (JTable) Text einer Zelle auf der linken Seite kürzel Java Basics - Anfänger-Themen 2
B Kniffel JTable Java Basics - Anfänger-Themen 5
N JTable flackert Java Basics - Anfänger-Themen 8
T JTable Daten aus txt datei Java Basics - Anfänger-Themen 3
J ArrayList wird in JTable falsch angezeigt Java Basics - Anfänger-Themen 0
J Eintragen von Personen in JTable Java Basics - Anfänger-Themen 4
X JTable mit grünen und roten Punkten Java Basics - Anfänger-Themen 2
LexeB4F DEL --> JTable Zelleninhalt Java Basics - Anfänger-Themen 3
R JTable Auslesen Java Basics - Anfänger-Themen 1
Crazynet jTable erste Zeile mit deffinierten Werten Java Basics - Anfänger-Themen 0
K Collections Sortieren nach zweiter Spalte in JTable Java Basics - Anfänger-Themen 18
J JTable Wert gleich überschreiben Java Basics - Anfänger-Themen 6
S Zeile entfernen aus JTable Java Basics - Anfänger-Themen 15
S JTable clonen Java Basics - Anfänger-Themen 5
H Best Practice PDF JTable Java Basics - Anfänger-Themen 4
S In JTable Zeile selektieren mit Mausklick Java Basics - Anfänger-Themen 16
D JTable Probleme beim Sortieren von Zahlen. Java Basics - Anfänger-Themen 6
M JTable mit XML datei befüllen Java Basics - Anfänger-Themen 1
F Zeile bei JTable hinzufügen Java Basics - Anfänger-Themen 6
K JTable Bild einfügen Java Basics - Anfänger-Themen 1
M [JTable] getValue throws ArrayOutOfBoundException Java Basics - Anfänger-Themen 1
B JTable - Highlighter ??? Java Basics - Anfänger-Themen 3
S JTable LinkedList <Objekt> befüllen Java Basics - Anfänger-Themen 1
S JTable dynamisch mit Datenbankinhalten füllen Java Basics - Anfänger-Themen 6
W JTable mit einem JButton-Array füllen Java Basics - Anfänger-Themen 4
O JScrollPane zu gross für JTable Java Basics - Anfänger-Themen 2
L JTable Row selected -> fireTableDataChange do nothing. Java Basics - Anfänger-Themen 3
E JTable + TableModel updaten? Java Basics - Anfänger-Themen 1
O java.lang.IndexOutOfBoundsException JTable autoSort Java Basics - Anfänger-Themen 5
F JTable adding Row Java Basics - Anfänger-Themen 5
P jTable getColumnClass, mit unterschiedlichen Klassen in einer Column? Java Basics - Anfänger-Themen 5
M Eingabe in JTable bei Eingabe korrigieren Java Basics - Anfänger-Themen 2
Z jtable problem (das tausendste??) Java Basics - Anfänger-Themen 12
J JTable Java Basics - Anfänger-Themen 7
T JTable Java Basics - Anfänger-Themen 2
T JTable einzelne Zeilen löschen Java Basics - Anfänger-Themen 3
S Farbe eine Zeile in JTable ändern, wenn JButton geklickt wurd Java Basics - Anfänger-Themen 4
Uzi21 jTable / Inhalt speichern Java Basics - Anfänger-Themen 2
M Problem mit JTable und Model Java Basics - Anfänger-Themen 3
F Methoden JTable + 2 For-Schleifen Java Basics - Anfänger-Themen 4
C jtextfield und jtable Java Basics - Anfänger-Themen 34
X JTable mit Inhalten aus JTextField o.ä. füllen Java Basics - Anfänger-Themen 4
G JTable: SelectionListener Problem Java Basics - Anfänger-Themen 2
G JTable: Werte in Tabelle direkt ansprechen Java Basics - Anfänger-Themen 3
S Icons in JTable per ResultSet Java Basics - Anfänger-Themen 5
G Spalte in JTable unsichtbar machen, Zugriff auf Daten ermöglichen Java Basics - Anfänger-Themen 2
M Zelle von JTable mit Rahmen versehen Java Basics - Anfänger-Themen 4
G JTable: Inhalt einer selektierten Zeile speichern Java Basics - Anfänger-Themen 2
G JTable: mehrzeilige Zellen erstellen Java Basics - Anfänger-Themen 2
W Problem JTable Java Basics - Anfänger-Themen 5
M JTable wird nicht aktualisiert Java Basics - Anfänger-Themen 4
D jProgressBar soll bei 100% sein wenn sql Abfrage inkl. jTable schreiben fertig ist... Java Basics - Anfänger-Themen 5
S Warum wird JTable nicht angezeigt Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben