JTable

Status
Nicht offen für weitere Antworten.

real8

Mitglied
Hey,

kämpf gerade etwas mit dem JTable...Hab in einem JFrame einen JTable der mit einer MySQL Datenbank befüllt wird. Dieses Frame wird mittels einem Button aufgerufen das zusätzlich Informationen aus einer Combobox bekommt. Je nachdem was in der Combobox selektiert wird gestaltet sich die Datenbankabfrage. Beim ersten mal aufrufen funkt das auch wunderbar. Nur wenn ich das gleiche nocheinmal mache, nur mit einem anderen Parameter aus der Combobox, werden die gleichen Daten wie beim ersten mal angezeigt. Wird beim schließen des Frames der JTable nicht gelöscht? Oder hab ich prinzipiell etwas nicht verstanden? Vielen Dank für eure Hilfe!!

Java:
  public void detail_ue() 
  {	
	  frame_detail_ue.setLocation(0, 50);
	  frame_detail_ue.addWindowListener(this);
	  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxJTable xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      Vector columnNames = new Vector();
      Vector data = new Vector();
      Vector columntype = new Vector();
      Vector columnindex = new Vector();
      try
      {
    	  Object temp;
    	  mysql rs_JTable = new mysql();
  		  ResultSet rs;
  		  temp = de_ausgabe_combo.getSelectedItem();
  		  rs = rs_JTable.getDe_ue_info(temp);
  		  ResultSetMetaData rsmd=rs.getMetaData();
          int columns=rsmd.getColumnCount();
          
          columnNames.addElement("xxx");
          columnNames.addElement("xxx");
          columnNames.addElement("xxx");
          columnNames.addElement("xxx");
          columnNames.addElement("xxx");
          columnNames.addElement("xxx");
          columnNames.addElement("xxx");
          columnNames.addElement("xxx");
          columnNames.addElement("xxx");
        
          
          while (rs.next()) 
          {
              Vector<Object> row = new Vector<Object>(columns);
              for (int i = 1; i <= columns; i++) 
              {
                  row.addElement(rs.getObject(i));
              }
              data.addElement(row);
          }
          rs.close();
      }
      catch(Exception e)
      {
          System.out.println( e );
      }
      //Table zur Oberfläche adden
 	  //DefaultTableModel wird benötigt fürs sortieren
 	  TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>();
 	  DefaultTableModel model;
 	  model = new DefaultTableModel();
 	  model.setDataVector(data, columnNames);
      table_detail_ue = new JTable(model);
      //table_detail_ue.setAutoResizeMode( JTable.AUTO_RESIZE_OFF );
      JScrollPane scroll = new JScrollPane(table_detail_ue);
      table_detail_ue.setRowSorter(sorter);
      sorter.setModel(model);
      
      frame_detail_ue.add(scroll);
      frame_detail_ue.pack();
      frame_detail_ue.setVisible(true);
      frame_detail_ue.setSize(1280,400);
  }
 

Ebenius

Top Contributor
Wird beim schließen des Frames der JTable nicht gelöscht?
Es geht aus Deinem Quelltext nicht hervor, aber eine Objekt wird nicht gelöscht, weil man ein Fenster schließt. Ob ein Fenster sichtbar oder nicht sichtbar ist, ist nur eine Eigenschaft des Fensters. Sofern Du das selbe Fenster wieder verwendest, verwendest Du auch alle seine Komponenten wieder. Der Konstruktor kann ja nicht neu aufgerufen werden, da er nur aufgerufen wird, wenn eine neue Instanz des Fensters erzeugt wird. Wenn Du also das selbe Fenster nochmal verwendest und die Tabelle im Konstruktor (bzw. einer vom Konstruktor aufgerufenen Methode) erzeugt hast, besteht die Tabelle auch weiterhin.

Darüber hinaus kann man die selbe Tabelle ja einfach mit anderen Daten füllen. Dazu weist man Ihr einfach ein neues Modell zu oder ändert den Inhalt im Modell der Tabelle.

Oder hab ich prinzipiell etwas nicht verstanden?
MVC. ;-) (SCNR)

Ebenius
 

real8

Mitglied
Danke für die Anwort! Hab jetzt versucht das JTable Objekt beim Aufruf der Funktion null zu setzen, also zu löschen. Sowie den data Vector zu clearen. Hat leider beides nicht funktioniert...

Blick scheinbar noch immer nicht ganz durch :)
 

André Uhres

Top Contributor
Dein Problem hat imho nix mit JTable zu tun. Mach einfach jedesmal einen neuen Frame:
Java:
public void detail_ue() {
    frame_detail_ue = new JFrame();//<------einfach nur diese Zeile hinzufügen!
    ...
Oder wir tun den Code vom Frame in eine eigene Methode, dann brauchen wir in detail_ue() nach dem Erstellen der Daten nur frame_detail_ue.setVisible(true) aufzurufen, etwa so:
Java:
public HauptFrame extends JFrame implements WindowListener {
    private JFrame frame_detail_ue;
    private JTable table_detail_ue;
    private DefaultTableModel model;//<----- model wird Instanzvariable!
    ...	
    public HauptFrame() {
        ...
        frame_detail_ue();//Initialisierung im Konstruktor
    }
...
        detail_ue();//beim Klick auf den Button
...
    private void frame_detail_ue() {
        frame_detail_ue = new JFrame();
        frame_detail_ue.setLocation(0, 50);
        frame_detail_ue.addWindowListener(this);
        model = new DefaultTableModel();
        TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>();
        sorter.setModel(model);
        table_detail_ue = new JTable(model);
        table_detail_ue.setRowSorter(sorter);
        //table_detail_ue.setAutoResizeMode( JTable.AUTO_RESIZE_OFF );
        JScrollPane scroll = new JScrollPane(table_detail_ue);
        frame_detail_ue.add(scroll);
        frame_detail_ue.setSize(1280, 400);
    }

  public void detail_ue()
  {
      //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxJTable xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      Vector columnNames = new Vector();
      Vector data = new Vector();
      Vector columntype = new Vector();
      Vector columnindex = new Vector();
      try
      {
          Object temp;
          mysql rs_JTable = new mysql();
          ResultSet rs;
          temp = de_ausgabe_combo.getSelectedItem();
          rs = rs_JTable.getDe_ue_info(temp);
          ResultSetMetaData rsmd=rs.getMetaData();
          int columns=rsmd.getColumnCount();

          columnNames.addElement("xxx");
          columnNames.addElement("xxx");
          columnNames.addElement("xxx");
          columnNames.addElement("xxx");
          columnNames.addElement("xxx");
          columnNames.addElement("xxx");
          columnNames.addElement("xxx");
          columnNames.addElement("xxx");
          columnNames.addElement("xxx");


          while (rs.next())
          {
              Vector<Object> row = new Vector<Object>(columns);
              for (int i = 1; i <= columns; i++)
              {
                  row.addElement(rs.getObject(i));
              }
              data.addElement(row);
          }
          rs.close();
      }
      catch(Exception e)
      {
          System.out.println( e );
      }
      model.setDataVector(data, columnNames);
      frame_detail_ue.setVisible(true);
  }
}
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
Y JTable AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben