DefaultListModel auf JList sortieren

Nothiing___

Mitglied
Hallo

Ich möchte ein DefaultListModel sortieren. Das DefaultListModel befindet sich auf einer JList und hat bereits Elemente

Wie kann ich das machen, gibt des dafür bereits vorhandene Methoden odr muss ich einen Vector schrieben oder was kann ich tun?

Liebe Grüsse und Herzlichen Danke im Voraus
Nothiing
 

eRaaaa

Top Contributor
> "und hat bereits Elemente"

Was sind das für Elemente? Strings, eigene Objekte ?

Anbieten würde sich da wahrscheinlich ein eigenes model!
 

XHelp

Top Contributor
Du könntest dir die Werte mit
Code:
getElementAt
in eine Liste packen, die sortieren und mit
Code:
setElementAt
wieder setzen.
 
G

Gast2

Gast
Java:
Vector columns = // wirst du ja schon irgenwo gesetzt haben
Vector data = listModel.getDataVector();
Collections.sort(data);
listModel.setDataVector(data,columns);
//Oder aber 
listModel = new DefaultTableModell(data,columns);

Musst halt wie eRaaaa schon sagt gucken ob du evtl halt die Objecte so einfach sortieren kannst. Sonst halt ein comparator einsetzen.

EDIT://

Hrm - genaugenommen müsste doch auch
Java:
Vector data = listModel.getDataVector();
Collections.sort(data);
schon reichen?
 
Zuletzt bearbeitet von einem Moderator:

eRaaaa

Top Contributor
Hrm - genaugenommen müsste doch auch
Java:
Vector data = listModel.getDataVector();
Collections.sort(data);
schon reichen?

Wenn das DefaultListModel eine Methode ala`getDataVector() anbieten würde, dann schon :)
Glaube man hat da so keine Möglichkeit wie bei dem TableModel.
Ich würde zu so etwas wie
Java:
class SortableListModel<T extends Comparable<? super T>> extends AbstractListModel {

	private List<T> model = new ArrayList<T>();
	private boolean isSorted = true;

	public void sort() {
		if (!isSorted) {
			Collections.sort(model);
			fireContentsChanged(this, 0, model.size() - 1);
		}
	}

	private void addElement(T element) {
		addElement(element, model.size());
	}

	private void addElement(T element, int index) {
		model.add(index, element);
		fireIntervalAdded(this, index, index);
	}

	public void addElement(T element, boolean sort) {
		if (!sort) {
			addElement(element);
			isSorted = false;
		} else {
			if (!isSorted) {
				sort();
			}
			int index = Collections.binarySearch(model, element);
			if (index < 0)
				addElement(element, -index - 1);
			else
				addElement(element, index);
			isSorted = true;
		}
	}

	@Override
	public Object getElementAt(int index) {
		return model.get(index);
	}

	@Override
	public int getSize() {
		return model.size();
	}
}
tendieren :)
 
Zuletzt bearbeitet:

slawaweis

Bekanntes Mitglied
Ich möchte ein DefaultListModel sortieren. Das DefaultListModel befindet sich auf einer JList und hat bereits Elemente

Wie kann ich das machen, gibt des dafür bereits vorhandene Methoden odr muss ich einen Vector schrieben oder was kann ich tun?
ganz einfach geht es mit der JXList aus SwingX:

Java:
JXList list = ...;
list.setSortable(true);
list.setAutoCreateRowSorter(true);
list.setComparator(new Comparator() { ... });
list.setSortOrder(SortOrder.DESCENDING);

Wenn man die JXList nicht verwenden kann, dann wird es kompliziert.

Slawa
 

Marco13

Top Contributor
Ob sortiertes Einfügen (und auch noch durch eine eigene Klasse) da Sinn macht? Da die Liste vermutlich nicht gerade 10^15 Elemente enthält könnte man das da wohl ganz pragmatisch machen: Elemente rauslesen, in List packen, List sortieren, Elemente wieder einfügen. Bis 1000 Elemente ist der Rechner damit fertig während der Schall vom Klicken der Maus noch gemächlich in Richtung der Ohrs des Anwenders juckelt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Soloeco JList/DefaultListModel: Wie kann ich ein Panel hinzufügen? Java Basics - Anfänger-Themen 1
N JList + DefaultListModel + JScrollPane --> ensureIndexIsVisible funktioniert nicht immer Java Basics - Anfänger-Themen 1
hdi Fehler beim Model-Update einer JList (DefaultListModel) Java Basics - Anfänger-Themen 3
W NullPointerException bei DefaultListModel Java Basics - Anfänger-Themen 5
M Elemente im DefaultListModel separat auslesen Java Basics - Anfänger-Themen 2
K Erste Schritte prob mit DefaultListModel (string) Java Basics - Anfänger-Themen 8
M DefaultListModel Markierung Java Basics - Anfänger-Themen 2
Q Listen - DefaultListModel trotz Design ueber GUI? Java Basics - Anfänger-Themen 10
Garret DefaultListModel als Spalte in JTable anzeigen lassen Java Basics - Anfänger-Themen 27
J bestimmtes Element aus DefaultListModel ausgeben? Java Basics - Anfänger-Themen 2
M NullpointerException bei DefaultListModel Java Basics - Anfänger-Themen 7
Mady Daten von JList & Combobox in JTable adden Java Basics - Anfänger-Themen 2
U JList erstellen Java Basics - Anfänger-Themen 2
J Objekt bei Auswahl in jList ändern Java Basics - Anfänger-Themen 6
D JList ListSelectionEvent entfernen? Java Basics - Anfänger-Themen 13
F JList Elemente mit Strings vergleichen Java Basics - Anfänger-Themen 12
S Export aus JList Java Basics - Anfänger-Themen 6
M Erste Schritte JList einträge Java Basics - Anfänger-Themen 1
M Erste Schritte Doppelte Ausgabe? (JList) Java Basics - Anfänger-Themen 1
M Erste Schritte Auswahl in einer JList Java Basics - Anfänger-Themen 2
P JList, aus selectedValue bestimmten Wert aus Containerklasse auslesen Java Basics - Anfänger-Themen 4
C JList Einträge nach Datum sortieren Java Basics - Anfänger-Themen 3
J Element zu jList hinzufügen NullPointerExcepetion Java Basics - Anfänger-Themen 2
S jList --> Array einfügen und Liste löschen Java Basics - Anfänger-Themen 5
H Kein Zugriff auf das Element einer JList möglich: Fehlermeldung Java Basics - Anfänger-Themen 2
I in listFiles() oder JList Dateiendungen entfernen Java Basics - Anfänger-Themen 14
N Erste Schritte MySQL Tabelle in JList darstellen Java Basics - Anfänger-Themen 1
O JList aktualisieren während Dateieinlesung Java Basics - Anfänger-Themen 4
B JFileChooser und JList Java Basics - Anfänger-Themen 7
OnDemand Enumeration <> JList Java Basics - Anfänger-Themen 5
P Mehrfachauswahl in einer JList Java Basics - Anfänger-Themen 2
A JList Elemente in ein andres JList Adden Java Basics - Anfänger-Themen 5
C .txt und Jlist Java Basics - Anfänger-Themen 10
J Daten in eine JList einfügen Java Basics - Anfänger-Themen 6
A JList / toString modify Java Basics - Anfänger-Themen 2
K jlist an text anpassen Java Basics - Anfänger-Themen 3
D Erste Schritte JList + Checkbox Java Basics - Anfänger-Themen 5
I kein zugriff auf jList oder Textfield Java Basics - Anfänger-Themen 2
A JList bearbeiten Java Basics - Anfänger-Themen 2
M Index einer JList ausgeben Java Basics - Anfänger-Themen 4
M Inhalt/Wert aus einer JList ablesen Java Basics - Anfänger-Themen 5
J Markierte Einträge (Dateien) in JList sollen in einen anderen Ordner verschoben werden. Java Basics - Anfänger-Themen 12
J Markierte Items in einer JLIST in einen Ordner verschieben Java Basics - Anfänger-Themen 2
A Input/Output Hashmap in einem JPanel via JList anzeigen Java Basics - Anfänger-Themen 8
S ListModel - Anzeige im JList Java Basics - Anfänger-Themen 4
H JList Java Basics - Anfänger-Themen 2
G JList Objekte richtig anzeigen in JDK 6 Java Basics - Anfänger-Themen 5
U JList Java Basics - Anfänger-Themen 6
L HashMap zu JList Java Basics - Anfänger-Themen 6
C Input/Output Inhalte von ArrayList und JList in Datei schreiben Java Basics - Anfänger-Themen 5
M Jlist Elemente hinzufügen Java Basics - Anfänger-Themen 2
F Koordinaten JList darstellen Java Basics - Anfänger-Themen 4
M BeanBinding Jlist an Jlabel Java Basics - Anfänger-Themen 2
M GUI JList - Objekte listen u. Feld anzeigen? Java Basics - Anfänger-Themen 16
E JList GUI aktualisieren? Java Basics - Anfänger-Themen 3
JAVAnnik JList Auswahl Java Basics - Anfänger-Themen 2
Z In JList per Doppelklick eine Datei öffnen (z.B. ein PDF) Java Basics - Anfänger-Themen 16
P Jlist + Popupmenu Java Basics - Anfänger-Themen 10
M Properties Eintrag löschen, welcher in der JList "ausgewählt" wurde Java Basics - Anfänger-Themen 2
c_sidi90 File Array an Jlist übergeben Java Basics - Anfänger-Themen 11
J JList Inhalt nach JButton Klick aktualisieren Java Basics - Anfänger-Themen 8
B JList und JTable: leere Zeilen bei listfiles(); Java Basics - Anfänger-Themen 5
A JList mit Überschrift Java Basics - Anfänger-Themen 2
K Scrollbalken in JList funktioniert nicht Java Basics - Anfänger-Themen 9
B JList wird nicht aktualisiert bzw hat keine Items Java Basics - Anfänger-Themen 2
D JList nicht sichtbar Java Basics - Anfänger-Themen 4
B JList mit Scrollbar? Java Basics - Anfänger-Themen 7
K Datenbindung an JTable, JList, Primärschlüssel verstecken Java Basics - Anfänger-Themen 4
M JList Event Java Basics - Anfänger-Themen 5
M JList Index selektieren ausschalten. Java Basics - Anfänger-Themen 7
M ArrayList<int[]> - Problem mit JList! Java Basics - Anfänger-Themen 27
M JList + ListModel Java Basics - Anfänger-Themen 26
L JList Aktualisieren funktioniert nur Zufällig Java Basics - Anfänger-Themen 3
T JList aktualisieren Java Basics - Anfänger-Themen 12
T alle Ordner in einem Ordner in JList anzeigen Java Basics - Anfänger-Themen 3
R .Jpg anzeigen lassen nach klick in JList Java Basics - Anfänger-Themen 11
F Hilfe! JList Inhalte vertauschen Java Basics - Anfänger-Themen 2
A Eintrag einer JLIST speichern Java Basics - Anfänger-Themen 3
A Anordnung von JList Elementen Java Basics - Anfänger-Themen 3
B JList wird nach Ändern weiß Java Basics - Anfänger-Themen 11
B Einträge im JList einfügen Java Basics - Anfänger-Themen 9
S JList mit icons UND strings für Dialogbox Java Basics - Anfänger-Themen 2
DStrohma Index einer markierten Zeile aus einer JList bekommen? Java Basics - Anfänger-Themen 5
P JList in JPanel anzeigen Java Basics - Anfänger-Themen 2
hdi Synchronisation zwischen JList und ListModel Java Basics - Anfänger-Themen 6
D Suche in JList nach dem ersten Buchstaben Java Basics - Anfänger-Themen 2
hdi JList mit Model und Observer -> Chaos, blicke nicht durch Java Basics - Anfänger-Themen 22
1 JList Problem : Synchronisation mit Vector klappt nicht :( Java Basics - Anfänger-Themen 6
G Elemente aus jList entferne. Java Basics - Anfänger-Themen 2
G JList updaten Java Basics - Anfänger-Themen 7
K jList scrollPane Java Basics - Anfänger-Themen 2
7 Java Swing: Wie JScrollPane zur JList hinzufügen? Java Basics - Anfänger-Themen 12
K JList verschiebt sich Java Basics - Anfänger-Themen 7
G String in JList Java Basics - Anfänger-Themen 11
T Jlist Object hinzufügen Java Basics - Anfänger-Themen 2
B Auslesen der JList Java Basics - Anfänger-Themen 11
S jList Multiple Selection mit Klick Java Basics - Anfänger-Themen 2
M Dateien in einem Ordner, JList Java Basics - Anfänger-Themen 7
G JList größe verändert sich Java Basics - Anfänger-Themen 2
M JList Parameter verschieben Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben