JTable: SelectionListener Problem

GGK_01

Bekanntes Mitglied
Hallo

Ich schreibe ein Programm, das Inhalte aus einer SQL DB in einer JTable einliest.

  • die Table hat ein Popup Menü mit dem ich die selektierte Zeile in mehrere JTextFelder übertrage.
  • die JTextFelder können editiert werden
  • über einen Button werden dabei durchgeführte Änderungen in die SQL DB übertragen
  • die Tabelle wird dann neu eingelesen und die Änderungen gleich dargestellt.

  • Wenn ich jedoch einen SelectionListener auf die Tabelle setze damit die Werte der selektierten Zeile beim Klicken in die Zeile übertragen werden. Passiert folgendes:
  • die Werte der selektierten Zeile werden in die JTextFelder übertragen
  • die Änderungen in den JTextFeldern werden in die DB übertragen
  • die Tabelle wird neu eingelesen
  • die Änderungen werden aber Nicht dargestellt...

Der ActionListener des Buttons:
Java:
ButtonDBUpdate.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
       
        SqlConnect readDB = new SqlConnect();
        insert = Boolean.valueOf(false);
        try {
          collection.dataCollection();
          readDB.writeDataBase(insert);
          readDB.close();
        }
        catch (Exception e1)
        {
          e1.printStackTrace();
        }
      }
    });

der SelectionListener:
Java:
    getTable().getSelectionModel().addListSelectionListener(new ListSelectionListener()  {

		@Override
		public void valueChanged(ListSelectionEvent arg0) {
			// TODO Auto-generated method stub
			
			collection.insertData();
			
			System.out.println("Listener arbeitet");
			btnSpeichern.setEnabled(false);
			chckbxActivate.setSelected(false);
		}
    });

Methode collection Insert (stark gekürzt):
Java:
 public void insertData() {
    table = Hauptprogramm.table;
    dataList = Hauptprogramm.selectData(table);
    System.out.println("DataList: " + dataList);
}

Hier (Sys-Output "springst rüber") stoppt das Programm bei Verwendung eines Selection Listeners:
Java:
  public static ArrayList selectData(JTable table)
  {
    ArrayList dataList = new ArrayList();
    int columns = table.getColumnCount();

    
    int col = 0;
    Object fetchElementID = "";
    for (col = 0; col < columns; col++)
    {
    
    	//*System.out.println("Col: "+col +" Col im View: "+table.convertColumnIndexToView(col));
    	System.out.println("Col Vergleich ["+col+"]: "+table.getModel().getColumnName(col)+": "+col+" "+table.convertColumnIndexToView(col)+" "+table.convertColumnIndexToModel(col));
    	//*if (col < columns - 1) {
    		System.out.println("col: "+col);
    		if (table.convertColumnIndexToView(col)!= -1) {
    			//*System.out.println(col + " : " + table.getValueAt(table.getSelectedRow(), table.convertColumnIndexToView(col)));
    			dataList.add(table.getValueAt(table.getSelectedRow(), table.convertColumnIndexToView(col)) + " ");
    			System.out.println("Springst rüber?");  //* ---> wird beim SelectionListener nicht mehr erreicht
    		
    		} 
    		if (col == 29) {
    			fetchElementID = table.getModel().getValueAt(table.getSelectedRow(), 29);
    			dataList.add(fetchElementID);
    			System.out.println("Object: " + fetchElementID);
    		}
    		
    	

    	
    }
 
    
    return dataList;
  }

Ausgabe auf der Konsole:

Code:
Col Vergleich [0]: Test Bestanden: 0 0 0
col: 0

Kann es sein, dass der SelectionListener eine Selektion auf die JTAble macht, die so gar nicht mehr existiert...oder wo kann das Problem liegen?

Danke

GGK
 
Zuletzt bearbeitet:

geqoo

Bekanntes Mitglied
Hast du mal die repaint() Methode der JTable probiert?

Der JTable mitteilen, dass Änderungen gemacht wurden, sollte so gehen:

Java:
((AbstractTableModel) jTable.getModel()).fireTableDataChanged();
 
Zuletzt bearbeitet:

GGK_01

Bekanntes Mitglied
ja habe ich. Ich glaube aber nicht, dass es daran liegt, denn über das Popup Menü funktioniert alles.
Ich verwende übrigens das DefaultTableModel.

Java:
          model.fireTableDataChanged();
          table.repaint();

Es muss irgendwie mit dem SelectionListener zusammenhängen.
 
Zuletzt bearbeitet:
Ä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: 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
D jtable renderer und sortieren kombinieren Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben