Probleme beim Refresh von JTable

Letavino

Aktives Mitglied
Hallo,
ich habe ein Problem beim Erneuern meiner Tabelle.
Auch nach längerem Googeln ist mir nicht ganz klar, wie ich das am besten handhaben könnte, bzw wo bei meinem jetzigen Versuch der Fehler liegt.

Java:
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.table.TableRowSorter;

public class Tabelle 
{
	public static JPanel rechts()
	{
		JPanel tabelle = new JPanel();
		
		int spalten = 4;
		
		String[] titel = new String[spalten];
		String[][] daten = Datenbank.tabelle();
		
		titel[0] = "Kunde";
		titel[1] = "Programm";
		titel[2] = "Lizenz";
		titel[3] = "Ablaufdatum";
		
		
		TableModel  model = new DefaultTableModel(daten,titel){
		    public boolean isCellEditable(int row, int column){
	            return false;
	        }
		};
	
		JTable jtable = new JTable(model);
		
		TableRowSorter<TableModel> rowSorter = new TableRowSorter<TableModel>(model);
		jtable.setRowSorter(rowSorter);
		 
		tabelle.add(new JScrollPane(jtable));
		
		return tabelle;
	}
	public void refresh()
	{
		model.fireTableDataChanged();
	}
}

So habe ich es bisher versucht zu lösen, was aber einen Fehler an der Stelle
Java:
model.fireTableDataChanged();
ergibt.
Java:
model cannot be resolved

Wie kann ich eine Refreshfunktion einbauen, die man von überall aus dem Programm leicht erreichen kann?

€: Wie kann ich meine Tabelle vorsortieren?
Gibt es dafür auch eine einfach Möglichkeit mit Java, oder muss ich das Array vor der Übergabe sortieren?


Lg, Florian
 
Zuletzt bearbeitet:

Michael...

Top Contributor
Grundsätzlich ist es unschön in einer objektorientierten Sprache (wenn es nicht sein muss) mit statischen Methoden zu arbeiten. Aber das sei einem Anfänger verziehen.

So habe ich es bisher versucht zu lösen, was aber einen Fehler an der Stelle
Java:
model.fireTableDataChanged();
ergibt.
Java:
model cannot be resolved
Entweder die Variable model final machen oder als Klassenvariable definieren.
€: Wie kann ich meine Tabelle vorsortieren?
Gibt es dafür auch eine einfach Möglichkeit mit Java, oder muss ich das Array vor der Übergabe sortieren?
Woher kommt das Array? Aus einer Datenbankabfrage? Dann könnte man sich den ResultSet von der Datenbank sortiert geben lassen.
 

André Uhres

Top Contributor
So könen wir die JTable sortieren:
Java:
...
    private final TableRowSorter<TableModel> rowSorter;
...
        rowSorter = new TableRowSorter<TableModel>(model);
...
        //sortieren:
        sortTable(SortOrder.ASCENDING);
...
    //Methode zum Sortieren der ersten Spalte:
    private void sortTable(final SortOrder order) {
        ArrayList<RowSorter.SortKey> list = new ArrayList<RowSorter.SortKey>(1);
        list.add(new RowSorter.SortKey(0, order));
        rowSorter.setSortKeys(list);
        rowSorter.sort();
    }
...

Gruß,
André
 

Letavino

Aktives Mitglied
Danke schonmal.

Den Unterschied zwischen statischen und nicht-statischen Methoden werde ich mir wohl noch einmal anschauen müssen.
Ich bin ja um einen vernünftigen Programmierstil bemüht. :)

Java:
final TableModel  model = new DefaultTableModel(daten,titel){
		    public boolean isCellEditable(int row, int column){
	            return false;
	        }
Das bringt soweit keine Veränderung mit sich.

Das auslagern des TableModel model als Klassenvariable wirft eine Nullpointer Exception.
Macht ja auch Sinn, da es ja so nicht weiter definiert ist.
Was muss ich noch auslagern, damit es klappt, wie es soll?
(Wahrscheinlich steh ich jetzt etwas auf dem Schlauch.)

Mit dem sortieren:
Es funktioniert nun mit Andrés Lösungsvorschlag soweit.
Es gibt noch einen Fehler, der aber auf meiner Seite liegt, da ich in den Zellen jeweils ein Datum stehen habe und er das als String sortiert.
Aber ich denke, das bekomme ich auch noch gelöst. ;)
 

André Uhres

Top Contributor
Versuch's mal so:

Java:
...
public class Tabelle {

    private DefaultTableModel model;

    public JPanel rechts() {
...
        model = new DefaultTableModel(daten, titel) {
...

Gruß,
André
 

Letavino

Aktives Mitglied
Danke!
Fehlermeldung kommt dabei nun keine mehr.
Dennoch wird die Tabelle noch nicht 'refreshed'.
Ich nehme an, es liegt daran, dass ich dem Model ja noch keine neuen Werte zugewisen habe.
Wie kann ich das ganze nun so erweitern, dass er nochmals die Datenbankabfrage durchführt und daraufhin eine neue Tabelle ermittelt?
Ich habe gerade noch einmal ein wenig gegoogelt, aber leider immernoch keine hilfreiche Übersicht gefunden.
 

André Uhres

Top Contributor
Java:
    private String[] titel;
...
        titel = new String[spalten];
...
        model.setDataVector(Datenbank.tabelle(), titel);
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Probleme beim Drucken auf einen PDF-Drucker AWT, Swing, JavaFX & SWT 8
D JavaFX Probleme beim nachtäglichen hinzufügen der jfx dependency AWT, Swing, JavaFX & SWT 7
B 2D-Grafik paintcomponent Probleme beim zeichnen AWT, Swing, JavaFX & SWT 10
L JavaFX Probleme beim Installieren JavaFX11 / JavaFX12 -- Eclipse 2019-03 AWT, Swing, JavaFX & SWT 3
H JavaFX Probleme Beim Wechseln der scene als .fxml AWT, Swing, JavaFX & SWT 7
F JavaFX Probleme beim automatischen Konvertieren AWT, Swing, JavaFX & SWT 4
T Java FX Probleme beim befüllen eines Tableviews AWT, Swing, JavaFX & SWT 5
S AWT Probleme beim Zeichnen AWT, Swing, JavaFX & SWT 3
K Probleme beim JPasswordField AWT, Swing, JavaFX & SWT 11
D JavaFX Probleme bei Service-Klasse beim ändern der GUI AWT, Swing, JavaFX & SWT 8
K Probleme beim zeichnen mit paintComponent() AWT, Swing, JavaFX & SWT 1
C Java FX Probleme beim Schließen einer Stage AWT, Swing, JavaFX & SWT 11
H Swing Probleme beim erstellen eines neuen Objektes durch einen Button AWT, Swing, JavaFX & SWT 10
N 2D-Grafik 2 Probleme beim zeichnen AWT, Swing, JavaFX & SWT 18
C SWT probleme beim einbinden von Images AWT, Swing, JavaFX & SWT 2
S Probleme beim drucken AWT, Swing, JavaFX & SWT 13
D Swing Probleme beim Anzeigen der einzelnen Komponenten AWT, Swing, JavaFX & SWT 16
N Probleme beim positionieren von Elementen AWT, Swing, JavaFX & SWT 2
A Probleme beim FocusListener AWT, Swing, JavaFX & SWT 6
S Swing Probleme beim Aktualisieren einer JComboBox nach Auswahländerung AWT, Swing, JavaFX & SWT 2
K JList-Probleme beim Hinzufügen von Elementen AWT, Swing, JavaFX & SWT 3
P Swing Probleme beim Zeichen AWT, Swing, JavaFX & SWT 6
O Probleme beim Zeichnen und AWT-Event-Queue-0 Exception AWT, Swing, JavaFX & SWT 5
A Probleme beim Drucken AWT, Swing, JavaFX & SWT 5
R Probleme beim Zeichnen eines Koordinatensystems AWT, Swing, JavaFX & SWT 10
M Probleme beim Bild einfügen in CenterPanel AWT, Swing, JavaFX & SWT 5
A Probleme beim Drucken (Seite wird abgeschnitten) AWT, Swing, JavaFX & SWT 2
S Probleme beim Neuzeichnen eines JLabels AWT, Swing, JavaFX & SWT 6
W Probleme beim Erstellen einer Tabelle AWT, Swing, JavaFX & SWT 2
T Probleme beim Resizen einer JScrollPane AWT, Swing, JavaFX & SWT 2
M Probleme beim Hinzufügen von Objekten zu getContentPane() AWT, Swing, JavaFX & SWT 2
G Probleme beim Panelstruktur AWT, Swing, JavaFX & SWT 13
E Probleme beim Layout! AWT, Swing, JavaFX & SWT 8
E Probleme beim Layout mit Buttons und CheckboxGroup AWT, Swing, JavaFX & SWT 9
S Probleme beim Laden und Speichern von Dateien AWT, Swing, JavaFX & SWT 6
C Habe Probleme beim Bild laden! *Update 30.11.2006* AWT, Swing, JavaFX & SWT 28
C Probleme beim Serialisieren mit JOptionPane AWT, Swing, JavaFX & SWT 12
C Probleme beim ausführen von Programmen mit Fenstern+Inhalt AWT, Swing, JavaFX & SWT 3
Q JTextPane / Probleme beim Einfügen von <br>-Tags AWT, Swing, JavaFX & SWT 2
G Probleme beim Lösen einer Übungsaufgabe AWT, Swing, JavaFX & SWT 5
C Probleme beim 2. öffnen eines Fensters AWT, Swing, JavaFX & SWT 5
A Probleme beim Ausdrucken AWT, Swing, JavaFX & SWT 4
V Probleme beim Scrollen ein JPanels mit JScrollPane AWT, Swing, JavaFX & SWT 2
R Probleme beim Wiederherstellen eines JInternalFrames AWT, Swing, JavaFX & SWT 4
G Probleme beim Füllen einer JTable AWT, Swing, JavaFX & SWT 2
Juelin Probleme bei Stage.close() AWT, Swing, JavaFX & SWT 23
XWing Swing Image anzeigen und probleme mit klassen AWT, Swing, JavaFX & SWT 3
E repaint Probleme AWT, Swing, JavaFX & SWT 13
mananana Mögliche probleme die in einer GUI passieren Können AWT, Swing, JavaFX & SWT 6
S GridBagLayout - Probleme mit Bilderanzeige AWT, Swing, JavaFX & SWT 3
J Probleme mit idividueller Tablecell AWT, Swing, JavaFX & SWT 0
J Probleme mit InputDialog AWT, Swing, JavaFX & SWT 4
D JavaFX TextArea Probleme bei langen Zeilen AWT, Swing, JavaFX & SWT 1
G JavaFX SplitPane Anwendung - Controller Probleme AWT, Swing, JavaFX & SWT 5
K Probleme bei der Erstellung und Ausführung einer Jar Datei AWT, Swing, JavaFX & SWT 2
B Probleme Action Listener Taschenrechner AWT, Swing, JavaFX & SWT 27
pph080560 JavaFX Probleme mit FX AWT, Swing, JavaFX & SWT 3
M Probleme mit OpenJDK AWT, Swing, JavaFX & SWT 6
B Swing Probleme mit dem Layout AWT, Swing, JavaFX & SWT 1
Fiedlerdan Image-Pfad Probleme nach Export aus Eclipse AWT, Swing, JavaFX & SWT 31
H JFreeChart - DemoDataSetFactory Probleme AWT, Swing, JavaFX & SWT 1
H LayoutManager Probleme mit Positionierung/Abständen der Komponenten AWT, Swing, JavaFX & SWT 14
A Probleme mit gridheight (GridBagLayout) AWT, Swing, JavaFX & SWT 6
U Opaque Probleme AWT, Swing, JavaFX & SWT 3
S Probleme mit JComboboxen(?) AWT, Swing, JavaFX & SWT 18
S Swing Probleme mit MigLayout AWT, Swing, JavaFX & SWT 2
C Probleme mit createImage AWT, Swing, JavaFX & SWT 1
J Probleme mit contex Menu (javafx) AWT, Swing, JavaFX & SWT 1
J Probleme bei GameofLife AWT, Swing, JavaFX & SWT 24
S JavaFx - Button ActionEvent Probleme AWT, Swing, JavaFX & SWT 3
T Swing Probleme mit repaint() bzw. JScrollPane AWT, Swing, JavaFX & SWT 7
ImperatorMing JavaFX Probleme mit WindowEvent AWT, Swing, JavaFX & SWT 0
ImperatorMing JavaFX Probleme mit WindowEvent AWT, Swing, JavaFX & SWT 5
J LayoutManager GridBagLayout, probleme mit Anordnung von Objekten AWT, Swing, JavaFX & SWT 6
A Swing Probleme mit dem adden von JButtons zur JScrollPane AWT, Swing, JavaFX & SWT 2
D Swing Probleme mit dem Resizing AWT, Swing, JavaFX & SWT 7
G Probleme mit TextArea AWT, Swing, JavaFX & SWT 5
G JFrame Probleme AWT, Swing, JavaFX & SWT 2
G Cardlayout Refresh Probleme AWT, Swing, JavaFX & SWT 2
J Swing Probleme mit ListSelectionListener(), Inhalte der JList werden gelöscht? AWT, Swing, JavaFX & SWT 6
M JButton Probleme AWT, Swing, JavaFX & SWT 14
L Probleme mit Programm AWT, Swing, JavaFX & SWT 13
blazingblade komischerweise probleme mit jtextfield.gettext() AWT, Swing, JavaFX & SWT 9
Xanny 2D-Grafik Beginner! Probleme mit Swing, Gprahics class und paint AWT, Swing, JavaFX & SWT 13
Sin137 LayoutManager GridBagLayout Probleme AWT, Swing, JavaFX & SWT 6
H Netbeans Designer: Probleme mit JPanel und JFrame AWT, Swing, JavaFX & SWT 2
M Swing Probleme mit Frame.pack() AWT, Swing, JavaFX & SWT 1
M Swing JProgressbar und Outoputstream probleme AWT, Swing, JavaFX & SWT 2
S Swing Probleme mit transparenz der Hintergrundfarbe und JRadioButtons AWT, Swing, JavaFX & SWT 2
Z Probleme mit JPanel's AWT, Swing, JavaFX & SWT 6
T Probleme mit Anzeige von Elementen im JPanel AWT, Swing, JavaFX & SWT 1
Shams Probleme bei dem Hinzufügen von Komponenten zu einem JFrame AWT, Swing, JavaFX & SWT 3
A Swing Probleme mit JScrollPane AWT, Swing, JavaFX & SWT 6
M Layout-Probleme unter Swing AWT, Swing, JavaFX & SWT 5
J JavaFX JavaFX Probleme bei der Anzeige von Text AWT, Swing, JavaFX & SWT 18
A Probleme mit TilledBorder("***") AWT, Swing, JavaFX & SWT 4
F Bildschirmschoner Probleme mit Preview AWT, Swing, JavaFX & SWT 8
X Panel Probleme (Tetris) AWT, Swing, JavaFX & SWT 8
N JTable probleme AWT, Swing, JavaFX & SWT 5
B Probleme bei ImageIO.read (?!) AWT, Swing, JavaFX & SWT 9

Ähnliche Java Themen

Neue Themen


Oben