Swing TableRowSorter sortiert komisch!?

fl_ex

Bekanntes Mitglied
Hey, ich möchte meine JTable bzw. mein TableModel sortieren lassen...

Hier der Code erstmal:
Java:
....	table = new JTable();
		table.setModel(new DefaultTableModel(new Object[][] {
				{ "Team1", 11 }, { "Team2", 10 }, { "Team3", 1 },
				{ "Team4", 9 }, { "Team5", 21 }, { "Team6", 20 },
				{ "Team7", 13 }, }, new String[] { "Name", "Score" }));
		scrollPane.setViewportView(table);

		TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>();
		sorter.setModel(table.getModel());
		table.setRowSorter(sorter);
...

Wenn ich nun auf den Header "Score" klicke sortiert er auch...Aber steht die 9 dann ganz unten oO
Was muss ich hinzufügen damit er es als ganze Zahl sieht und nicht nach ziffern vorgeht? (Davon gehe ich jetzt mal aus...)?

:) DANKE SCHONMAL
 

fl_ex

Bekanntes Mitglied
Habe gelesen ich soll die getColumnClass-Funktion überschreiben...Wie mache ich sowas?

Java:
	public Class getColumnClass(int c) {
		if (c == 1) {
			return Integer.class;
		} else if (c == 0) {
			return String.class;
		}
		return String.class;
	}

Dann gibt er bei 1 (die Score Spalte) ne Integer-Klasse zurück...

Aber wie Überschreib ich die nun?
 

Michael...

Top Contributor
z.B. anonym:

Java:
TableModel model = new DefaultTableModel(new Object[][] {...}, new String[] {...}) {
    public Class getColumnClass(int c) {
        ...
    }
};
 

fl_ex

Bekanntes Mitglied
Viielen Dank! :)

Aber nochmal fürs Verständnis...

Wenn ich eine Neue Klasse schreiben will die alles eerbt aber die eine FUnktion nur ersetzt hat reicht da nicht:

Java:
public class OwnDefaultTableModel extends DefaultTableModel {

	@Override
	public Class<?> getColumnClass(int c) {
		super.getColumnClass(c);
		if (c == 1) {
			return Integer.class;
		} else {
			return String.class;
		}
	}
}

Weil wenn ich die dann benutze sagt er der Konstruktor ist nicht bekannt :/

EDIT:
--> Weil ich die Tabelle aktualisiere und da soll er das halt immer haben...Wenn ich das in die Tabelle ohne Werte reinpacke macht ers falsch :/
 
Zuletzt bearbeitet:

Michael...

Top Contributor
Wenn ich eine Neue Klasse schreiben will die alles eerbt aber die eine FUnktion nur ersetzt hat reicht da nicht:

Java:
public class OwnDefaultTableModel extends DefaultTableModel {

	@Override
	public Class<?> getColumnClass(int c) {
		super.getColumnClass(c);
		if (c == 1) {
			return Integer.class;
		} else {
			return String.class;
		}
	}
}

Weil wenn ich die dann benutze sagt er der Konstruktor ist nicht bekannt :/[/code]
Das reicht grundsätzlich schon, allerdings besitzt diese Klasse nur den Defaultkonstruktor
Code:
OwnDefaultTableModel()
ein
Code:
new OnwDefaultTableModel(Object[][], Object[])
ist nicht möglich, da in der Klasse nicht definiert.
--> Weil ich die Tabelle aktualisiere und da soll er das halt immer haben...Wenn ich das in die Tabelle ohne Werte reinpacke macht ers falsch :/
da kann ich nur raten, was damit gemeint ist.
Aber grundsätzlich was ist mit Tabelle aktualisieren gemeint? Ändern sich Wert, kommen neue Zeilen hinzu oder werden entfernt, dann sollte man das über das bestehende Model erledigen. Nur wenn ein komplett anderer Inhalt/ andere Spalten in der selben Tabelle angezeigt werden soll, nimmt man ein neues Model.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T TableRowSorter AWT, Swing, JavaFX & SWT 4
R TableRowSorter... zu langsam AWT, Swing, JavaFX & SWT 9
R TablerowSorter Problem AWT, Swing, JavaFX & SWT 3
R Swing TableRowSorter und Header Renderer AWT, Swing, JavaFX & SWT 2
C Swing Problem mit TableCellRenderer in Verbindung mit TableRowSorter AWT, Swing, JavaFX & SWT 2
A TableRowSorter für double Werte mit Formatierung AWT, Swing, JavaFX & SWT 3
pinerski Swing JTable und TableRowSorter AWT, Swing, JavaFX & SWT 2
T Invalid Range - Fehler bei TableRowSorter / Tabelle AWT, Swing, JavaFX & SWT 17
R Jtable + TableRowSorter AWT, Swing, JavaFX & SWT 9
GilbertGrape Alternative zu TableRowSorter in 1.5 AWT, Swing, JavaFX & SWT 3
G problem mit TableRowSorter AWT, Swing, JavaFX & SWT 5
K javax.swing.table.TableRowSorter AWT, Swing, JavaFX & SWT 13
W Wie setz ich beim TableRowSorter die zu sortierende Spalte AWT, Swing, JavaFX & SWT 4
P TableCellRenderer mit einem TableRowSorter AWT, Swing, JavaFX & SWT 4
P Double-Werte sortieren mit TableRowSorter AWT, Swing, JavaFX & SWT 2
P Swing Test ob Tabellenspalte sortiert ist AWT, Swing, JavaFX & SWT 6
vandread Swing JTable / DefaultTableModelwird nicht mit sortiert AWT, Swing, JavaFX & SWT 2
M JList von Beginn an sortiert nach Spalte ohne Klick? AWT, Swing, JavaFX & SWT 2
T JTable mit Renderer sortiert die gerenderte Spalte nicht richtig AWT, Swing, JavaFX & SWT 2
P JTable sortiert ProgressBar nicht AWT, Swing, JavaFX & SWT 8
R JTable sortiert nicht richtig AWT, Swing, JavaFX & SWT 6
J ChangeListener verhält sich komisch AWT, Swing, JavaFX & SWT 14
G TableView EditingCell reagiert komisch AWT, Swing, JavaFX & SWT 4
Ivan Dolvich [Linux] JFileChooser sieht komisch aus... AWT, Swing, JavaFX & SWT 12
H Swing Eigene Komponente wird nur halb oder komisch angezeigt AWT, Swing, JavaFX & SWT 3
T Swing JTextArea verhält sich komisch... AWT, Swing, JavaFX & SWT 8
hdi mein layout verählt sich komisch AWT, Swing, JavaFX & SWT 4
M JTree nach LaF-Änderung komisch AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben