Swing JList, ArrayList + DefaultModel

Steffanie

Mitglied
Hi Jungs,

Ich hab ein Problem,;( mit meiner JList meines Versuches ein Programmchen fürs Chaten zu programmieren :oops:
Leider habe ich schon alle mögliche Probiert habe es zuerst mit einer normalen ArrayList versucht ein anderer User eines Forums verwieß mich aber auf das DefaultModel! :rtfm:

In meiner Testumbebung hat das dann auch funktioniert
hab aber dem Model dort zuerst die Strings zugeordnet und dann erst die JList Erstellt mit dem Model!
Sprich so
Java:
UserList user = new UserList();
user.model.addElement("Klaus");
userList = new JList(user.model);
Die Klasse UserList sieht so aus
Java:
package EigenerVersuch;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;

import javax.swing.DefaultListModel;

public class UserList {
	static ArrayList<String> userList = new ArrayList<String>();
	static DefaultListModel<String> model = new DefaultListModel<String>();
	String username;
	
	public void doListinModel(ArrayList<String> List){
		model.clear();
		for(String s:List){
			model.addElement(s);
		}
	}
	public String toString() {
		return "" + userList;
	}
	
	public String getModel(){
		return ""+model;
	}
	
	public void removeDuplicatedEntries(ArrayList<String> arrayList) {
	    HashSet<String> hashSet = new HashSet<String>(arrayList);
	    arrayList.clear();
	    arrayList.addAll(hashSet);
	    this.userList = arrayList;
	  }
}

Ich denke das Problem liegt daran das ich sobald ich die Gui für den Client erstelle, dort die "leere" Modelliste einfüge, und erst danach sobald die Gui erstellt ist und die Verbindung besteht den Username in die ArrayListe/Model eintrage....
Das Model kann ich mir über /showUsers anzeigen lassen sieht dann so aus
also das Steht in der Klasse Server
Java:
public void sendToAllClients(String message) {
                Iterator it = list_clientWriter.iterator();
                Client c = new Client();
                while(it.hasNext()) {
                	PrintWriter writer = (PrintWriter) it.next();               
                	
                	String zeichenfolge ="/showUsers", z2 = "add";
                	UserList user = new UserList();
                	if(message.indexOf(zeichenfolge) >= 0){
                		writer.println("ArrayList: "+user.toString());
                		writer.println("Model: "	+user.getModel());
                		writer.flush();
                	}else if(message.indexOf(z2)>=0){                		
                		int i = message.lastIndexOf("add")+3;
                		String username =message.substring(i);                		
                		user.userList.add(username);
                		user.removeDuplicatedEntries(user.userList);
                		user.doListinModel(user.userList);
                		               		
                		writer.flush();
                	}
                	else {
                        writer.println(message);                       
                        writer.flush();
                	}
                        
                }
        }
Ich weiß zu allen Clients zu schicken ist die die Optimalstelösung ich weiß aber leider nicht wie ich einen einzelnen Client ansprachen kann werd mich dazu aber noch erkundigen :bloed:

Dann wir z.b. der Steffanie, Steffanie1 ausgeben! Also das Model wird auch nach jedem User aktualisiert halt bloß nicht die JList, die behält immer den alten stand....


hab das komplette Projekt jetzt mal bei PasteBin hochgeladen
Server Klasse
Client Klasse
Login Window (StartWindow)
UserList Klasse
 
Zuletzt bearbeitet von einem Moderator:

eMmiE

Bekanntes Mitglied
a) ist das eine Projekt-VORSTELLUNG oder ne FEHLERANFRAGE?
b) wie hast du den Text so pink bekommen (sieht schlimm aus)
c) wie ist deine ausformulierte Frage?
 

Steffanie

Mitglied
dann halt in Schwarz ;-(

Wie aktualisiere ich eine JList? die ArrayList/Model wird aktuaisiert und stimmt immer aber der Inhalt der JList ist falsch--.--
 

eMmiE

Bekanntes Mitglied
Schwarz ... weiß ... im Prinzip egal :)

Mal ne Frage:
Was ist eine JList?

Frage an dich...

2. Frage:
Was ist ein DefaultModel?

Frage an dich...

Und jetzt googlest du einfach mal nach den Konstruktoren einer JList
Da wirst du dann sowas finden wie
Code:
new JList(DefaultListModel dlm)

Nich böse gemeint, aber Google ist dein Freund :popcorn:

Gruß eMmiE
 

eMmiE

Bekanntes Mitglied
Ich muss ehrlich sagen, dass ich von Servern oder so was in der Art keine besondere Ahnung habe bezüglich ihrer spezifischen Funktionalität, aber ich denke, dass, wenn ein User neu dazu kommt der Client, welcher dann auf dem PC läuft, den Namen an den Server schickt (wie auch immer), dort durch das Senden oder im Nachhinein den Befehl gibt, die Liste zu aktualisieren.
Das ruft dann innerhalb des Servers eine Methode auf, die die überarbeitete Liste an alle Benutzerclients sendet und dort ein Flag setzt bzw., damit es auch funktioniert, wenn der User gerade nicht on ist, in die Meta/Lade-Datei reinschreibt, dass da was zu ändern wäre, woraufhin der Client sich dann selbst updated.

Kurzform:
1. neuer Client gestartet
2. sendet Nachricht mit Usernamen
3. Server bekommt Nachricht
4. Update der Liste
5. Senden der Liste
6. (nach Lesen von z.B. einer externen Datei vom Server) entscheiden, ob direkt aktivieren oder in Meta schreiben
7. Client jedes mal bei Neustart updaten

Da kann ich also auch nich viel helfen :noe:

Wenn es aber ein Problem mit Java wäre kannste gerne nochmal fragen :D

Gruß eMmie
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
BananenBrötchen Swing Arraylist in jList anzeigen AWT, Swing, JavaFX & SWT 6
D Swing ArrayList in Jlist/ List oder Array in JList/List AWT, Swing, JavaFX & SWT 5
Ollek JList - neuer Eintrag in ArrayList dadurch keine Anzeige der Objekte AWT, Swing, JavaFX & SWT 18
F Swing ArrayList in JList anzeigen und Objekte auswählen AWT, Swing, JavaFX & SWT 2
C Swing ArrayList in jList AWT, Swing, JavaFX & SWT 3
G jList mit ArrayList füllen AWT, Swing, JavaFX & SWT 3
B Jlist füllen AWT, Swing, JavaFX & SWT 4
H JList.setEnabled(false) - Text soll nicht grau sein AWT, Swing, JavaFX & SWT 2
J Swing JList wird nicht angezeigt AWT, Swing, JavaFX & SWT 6
A Swing JList zu JTree AWT, Swing, JavaFX & SWT 11
G Eingabe in JTextField in Array speichern und in JList ausgeben AWT, Swing, JavaFX & SWT 7
cezary Choice, JComboBox oder JList AWT, Swing, JavaFX & SWT 5
J JList scrollen AWT, Swing, JavaFX & SWT 3
Neumi5694 Swing JList - Klick abfangen AWT, Swing, JavaFX & SWT 3
G Swing Swing Binding JList funktioniert nicht AWT, Swing, JavaFX & SWT 5
M Swing JList Auswahl-GUI-Konzept AWT, Swing, JavaFX & SWT 9
C JList: Bestimmte Objekte ausschließen AWT, Swing, JavaFX & SWT 1
F JList aktualisiert nicht AWT, Swing, JavaFX & SWT 24
F JList auffüllen aus Array von Instanzen AWT, Swing, JavaFX & SWT 4
F Event wenn Maus eine JList verlässt AWT, Swing, JavaFX & SWT 13
F JList bei Windowbuilder AWT, Swing, JavaFX & SWT 8
F JList zeigt keine Einträge mehr AWT, Swing, JavaFX & SWT 1
P JList erstellen AWT, Swing, JavaFX & SWT 4
G DefaultListModel für JList AWT, Swing, JavaFX & SWT 2
P Einer JList mit eigenem ListModel einen Eintrag hinzfügen AWT, Swing, JavaFX & SWT 5
P Übergeben von ListModel an nichtparametrisierte JList AWT, Swing, JavaFX & SWT 8
M Ein Element in mehreren JList selektieren AWT, Swing, JavaFX & SWT 5
J Swing Probleme mit ListSelectionListener(), Inhalte der JList werden gelöscht? AWT, Swing, JavaFX & SWT 6
Z Swing Variable eines Objekt aus Hashmap in JList anzeigen AWT, Swing, JavaFX & SWT 1
Nabbit Über JList kein JPopupMenu AWT, Swing, JavaFX & SWT 2
O Swing JList beim Klicken in der GUI erstellen AWT, Swing, JavaFX & SWT 6
C Swing JList zeigt keine neuen Einträge an AWT, Swing, JavaFX & SWT 1
B Swing Auf JList-Elemente aus einer anderen Klasse zugreifen AWT, Swing, JavaFX & SWT 1
T Generische Klasse in JList über DefaultListModel AWT, Swing, JavaFX & SWT 1
T Swing WindowBuilder: JList wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
C Button Text in JList neue Zeile AWT, Swing, JavaFX & SWT 6
C Hilfe bei JSpinner und JList AWT, Swing, JavaFX & SWT 1
S JList ist leer, aber DefaultListModel hat die Daten? AWT, Swing, JavaFX & SWT 9
M JList wird angezeigt, JTable (DefaultTableModel) nicht AWT, Swing, JavaFX & SWT 7
H Swing JList/JTable mit JButton, JTextField, Image, JComboBox und JLable AWT, Swing, JavaFX & SWT 2
D Swing Jlist Größe während der Laufzeit verändern. AWT, Swing, JavaFX & SWT 11
Q JList Update Problem AWT, Swing, JavaFX & SWT 1
W Sichtbarer Bereich JScrollPane vs. JList AWT, Swing, JavaFX & SWT 3
N AWT Markierte Zeile jList aus mySQL DB löschen AWT, Swing, JavaFX & SWT 2
S JList repaint AWT, Swing, JavaFX & SWT 1
F Swing JTextField in JList (Funktion beibehalten) AWT, Swing, JavaFX & SWT 2
H JList AWT, Swing, JavaFX & SWT 5
B Swing Bild von Webseite herunterladen, diese dann in JList anzeigen. AWT, Swing, JavaFX & SWT 1
B Swing Dynamische JList mit Bildern AWT, Swing, JavaFX & SWT 4
D JList&JButton erst nach Resize des JFRame sichtbar AWT, Swing, JavaFX & SWT 2
S JList Index finden AWT, Swing, JavaFX & SWT 6
3 Swing JList-Inhalt als verschlüsselte Datei schreiben und lesen AWT, Swing, JavaFX & SWT 1
N JComponenten in JList oder doch anders? AWT, Swing, JavaFX & SWT 0
B Tabelleneinträge in JList anzeigen AWT, Swing, JavaFX & SWT 5
P JList/JScroolPane Text verschieben und text wrappen AWT, Swing, JavaFX & SWT 3
D Swing JList keine Selektionsänderung bei "dragged-Maus" AWT, Swing, JavaFX & SWT 4
M JList Model filtern AWT, Swing, JavaFX & SWT 4
K Swing JList - Element richtig hinzufügen AWT, Swing, JavaFX & SWT 4
T Swing Elemente der JList überlappend darstellen AWT, Swing, JavaFX & SWT 5
P Swing JList mit Objekten - Name anzeigen AWT, Swing, JavaFX & SWT 5
K Mehrfachselektierungen in einer JList AWT, Swing, JavaFX & SWT 6
L Swing Component alignment innerhalb einer JList AWT, Swing, JavaFX & SWT 3
M Swing JList Listener AWT, Swing, JavaFX & SWT 20
M Accelerator zu JMenuItem des JPopupMenu einer JList AWT, Swing, JavaFX & SWT 2
S Swing JList wird nicht angezeigt AWT, Swing, JavaFX & SWT 3
M Element aus JList eines JFileChooser entfernen AWT, Swing, JavaFX & SWT 3
E selektierter Datensatz in JList als String Datentyp AWT, Swing, JavaFX & SWT 23
E selektiertes Element aus JList zurückgeben AWT, Swing, JavaFX & SWT 7
E JList /DefaultListModel mit Datenbank verbinden AWT, Swing, JavaFX & SWT 10
L SQL & Jtable o. JList AWT, Swing, JavaFX & SWT 5
K Swing JList und veränderte CellRenderer AWT, Swing, JavaFX & SWT 8
B JList + ListCellRenderer AWT, Swing, JavaFX & SWT 5
B JList -> Disabled AWT, Swing, JavaFX & SWT 6
J JList, Anzeige aktualisieren AWT, Swing, JavaFX & SWT 7
I Jlist isselectionEmpty AWT, Swing, JavaFX & SWT 4
I Jlist dynamisch aus Datenbank füllen AWT, Swing, JavaFX & SWT 14
R Swing unbegrenzte Anzahl vonEinträgen in JList AWT, Swing, JavaFX & SWT 2
MiMa Dateien aus Ordner in einer JList Ausgeben AWT, Swing, JavaFX & SWT 32
P Elemente einer JList ausgeben AWT, Swing, JavaFX & SWT 11
M JList mit 2-zeiligen Objekten füllen AWT, Swing, JavaFX & SWT 7
S JList mit Einträgen versehen schlägt fehl AWT, Swing, JavaFX & SWT 4
B JList zeigt Elemente nicht an AWT, Swing, JavaFX & SWT 3
S Fragen zu JList AWT, Swing, JavaFX & SWT 3
B Aktualisierung einer JList AWT, Swing, JavaFX & SWT 5
W JList valueChanges weiterleiten? AWT, Swing, JavaFX & SWT 14
D JButton-Click in JList mit Panels (auf dem der Button ist) AWT, Swing, JavaFX & SWT 6
E Jlist nur mit Klasse? AWT, Swing, JavaFX & SWT 5
D Swing JList <-> AdapterModel <-> Model AWT, Swing, JavaFX & SWT 4
1 JList - Elemente mit rechter Maustaste wählen AWT, Swing, JavaFX & SWT 6
M JList mit DefaultListModel und listener AWT, Swing, JavaFX & SWT 4
B JList nach dem Rendern sortieren AWT, Swing, JavaFX & SWT 3
T Wie ist das "Lookup-Verhalten" von JList, JCombobox änderbar? AWT, Swing, JavaFX & SWT 4
D JList items voneinander trennen AWT, Swing, JavaFX & SWT 10
E Keine Ausgabe von JList bei drücken von Button auf die Konsole AWT, Swing, JavaFX & SWT 7
M gleiches Element in JList mehrmals hintereinander auswählen AWT, Swing, JavaFX & SWT 6
T JList und Objekte AWT, Swing, JavaFX & SWT 7
M Swing JList Item in andere JList während Ausführung AWT, Swing, JavaFX & SWT 4
V JList filtern AWT, Swing, JavaFX & SWT 6
GianaSisters jList nur einmal ein Element anklicken AWT, Swing, JavaFX & SWT 3
TheWhiteShadow JList-Inhalt nach Änderung weg AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben