Swing JTable zeigt nichts

Diskutiere JTable zeigt nichts im Allgemeine Java-Themen Bereich.
Bitte aktiviere JavaScript!
T

Tobias-nrw

Java:
public class App {

	DefaultTableModel dtm1 = new DefaultTableModel();

	App() {
		JFrame f1 = new JFrame("Überwachung 1");
		// dtm1.setColumnIdentifiers(new String[] { "Name", "Wert" });
		JTable t1 = new JTable(dtm1);
		f1.add(new JScrollPane(t1));
		f1.setSize(400, 400);
		f1.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
		f1.setVisible(true);

		new Thread(() -> {
			try {
				while (f1.isVisible()) {
					SwingUtilities.invokeLater(() -> {
						for (int i = dtm1.getRowCount() - 1; i >= 0; i--) {
							dtm1.removeRow(i);
						}
						dtm1.addRow(new String[] { "hier", "steht" });
						dtm1.addRow(new String[] { "wichtige", "Sachen..." });
						dtm1.fireTableDataChanged();
					});
					Thread.sleep(500);
				}
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}).start();
	}

}
Wenn ich die 3. Zeile nicht ein-kommentiere dann zeigt die JTable nichts an - wieso?
 
T

TM69

Java:
public class App {

    DefaultTableModel dtm1 = new DefaultTableModel();

    App() {
        JFrame f1 = new JFrame("Überwachung 1");
        // dtm1.setColumnIdentifiers(new String[] { "Name", "Wert" });
        JTable t1 = new JTable(dtm1);
        f1.add(new JScrollPane(t1));
        f1.setSize(400, 400);
        f1.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
        f1.setVisible(true);

        new Thread(() -> {
            try {
                while (f1.isVisible()) {
                    SwingUtilities.invokeLater(() -> {
                        for (int i = dtm1.getRowCount() - 1; i >= 0; i--) {
                            dtm1.removeRow(i);
                        }
                        dtm1.addRow(new String[] { "hier", "steht" });
                        dtm1.addRow(new String[] { "wichtige", "Sachen..." });
                        dtm1.fireTableDataChanged();
                    });
                    Thread.sleep(500);
                }
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }).start();
    }

}
Wenn ich die 3. Zeile nicht ein-kommentiere dann zeigt die JTable nichts an - wieso?
du meinst die Zeile:
Code:
App() {
Okay lass uns mal zusammen überlegen, woran könnte das wohl liegen, dass dein Quelltext nicht kompiliert wird.
Oder meintest du nicht eher die 4te Zeile? Also
Code:
// dtm1.setColumnIdentifiers(new String[] { "Name", "Wert" });
Okay lass uns mal einen Blick in die Doku werfen:
https://docs.oracle.com/javase/7/docs/api/javax/swing/table/DefaultTableModel.html
Dann kannst du dir es selbst erklären - so hoffe ich zumindest.
 
T

Tobias-nrw

Woran liegts denn?

(Da nur eine Zeile aus-kommentiert ist, dachte ich das wäre offenbar)
 
krgewb

krgewb

offenbar? Du meinst offensichtlich.

Die Zeile sagt dem Programm, wieviele Spalten die Tabelle haben wird.
Wie ich sehe, gibt es auch eine Methode namens setColumnCount
 
T

Tobias-nrw

Dankeschön. Das war eine Erklärung mit der man etwas anfangen kann
 
Thema: 

JTable zeigt nichts

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben