Hallo liebe Java-Forum.org Community,
ich habe mir vorgenommen einen Chat mit Java zu programmieren.
Bis jetzt bin ich dank zahlreicher Tutorials gut vorangekommen.
Es funktioniert jetzt rein theoretisch alles bis auf die Smilies.
Kurz zum Programm:
Wenn der Benutzer den Chat startet öffnet sich ein kleines Fenster in dem er seinen Namen
eingeben muss und dann auf einen Button drückt. Danach schließt sich das Fenster und das
Chatfenster öffnet sich.
Der Client wird mit einem Server verbunden (Client-Server-Architektur).
Das Chatfenster besteht aus 3 Komponenten.
Dem Textfeld, dem Feld mit dem "Chat" und einer Liste in der alle Benutzer aufgelistet sind.
Ich habe bewusst alles so einfach wie möglich gehalten und auch wenig auf das Äußeres wert gelegt.
Nun möchte ich gerne erklären wie ich es mir vorgestellt habe.
Der Benutzer tippt text und schreibt folgendes:
Dies ist ein Satz mit einem Smilie
Wenn er das dann abschickt wird der Satz erstmal an den Server gesendet der das dann mit einer Funktion names "broadcast" an alle Clienten verteilt, also auch an mich selbst.
Wenn der Satz nun beim Clienten ankommt sollen die 2 Zeichen ": und )" zu einem Smilie umgewandelt werden.
Ich habe nun viel gesucht im Internet und auch einige Sachen gefunden wo soetwas mit JEditorPanes und HTMLEditorKits gelöst wurde, jedoch war der Vorgang nie genau beschrieben
Es stand immer nur da: Verwende am besten das oder das und dann klappt das schon. Die Leute in diesen Foren hatten alle schon Erfahrung und wussten was zu tun ist. Ich habe aber nicht viel Erfahrung (nur in der Schule ein wenig Java gehabt) und konnte damit wenig anfangen.
Darum bitte ich nun um eine detailierte Anleitung wie ich sowas umsetzen kann.
So sieht der Quelltext aus wo der Client den Text vom Server entgegen nimmt:
Ich verwende momentan für den Bereich wo der Text dann erscheint ein :
static JEditorPane output = new JEditorPane();
Jedoch ohne ein HTMLDocument oder EditorKit.
Zu guter letzt möchte ich euch noch meinen ganzen Quelltext zur Verfügung stellen,
denn ich denke das es euch so leichter fallen könnte mir zu helfen.
javachat-download
Momentan habe ich noch keine .exe erstellt, da ich das Programm immer mit der Eclipse teste.
Wenn man das Programm starten will muss man als erstes die Klasse "Server_Chat" starten und dann
"Chatclient", der Rest ist simpel.
Ich hoffe ihr könnt mir helfen
Mit freundlichen Grüßen Sodan
ich habe mir vorgenommen einen Chat mit Java zu programmieren.
Bis jetzt bin ich dank zahlreicher Tutorials gut vorangekommen.
Es funktioniert jetzt rein theoretisch alles bis auf die Smilies.
Kurz zum Programm:
Wenn der Benutzer den Chat startet öffnet sich ein kleines Fenster in dem er seinen Namen
eingeben muss und dann auf einen Button drückt. Danach schließt sich das Fenster und das
Chatfenster öffnet sich.
Der Client wird mit einem Server verbunden (Client-Server-Architektur).
Das Chatfenster besteht aus 3 Komponenten.
Dem Textfeld, dem Feld mit dem "Chat" und einer Liste in der alle Benutzer aufgelistet sind.
Ich habe bewusst alles so einfach wie möglich gehalten und auch wenig auf das Äußeres wert gelegt.
Nun möchte ich gerne erklären wie ich es mir vorgestellt habe.
Der Benutzer tippt text und schreibt folgendes:
Dies ist ein Satz mit einem Smilie
Wenn er das dann abschickt wird der Satz erstmal an den Server gesendet der das dann mit einer Funktion names "broadcast" an alle Clienten verteilt, also auch an mich selbst.
Wenn der Satz nun beim Clienten ankommt sollen die 2 Zeichen ": und )" zu einem Smilie umgewandelt werden.
Ich habe nun viel gesucht im Internet und auch einige Sachen gefunden wo soetwas mit JEditorPanes und HTMLEditorKits gelöst wurde, jedoch war der Vorgang nie genau beschrieben
Es stand immer nur da: Verwende am besten das oder das und dann klappt das schon. Die Leute in diesen Foren hatten alle schon Erfahrung und wussten was zu tun ist. Ich habe aber nicht viel Erfahrung (nur in der Schule ein wenig Java gehabt) und konnte damit wenig anfangen.
Darum bitte ich nun um eine detailierte Anleitung wie ich sowas umsetzen kann.
So sieht der Quelltext aus wo der Client den Text vom Server entgegen nimmt:
Code:
public void run() {
String line;
try {
while(true) {
line = in.readLine();
if(line != null) {
// An dieser Stelle muesste man die Smilies ersetzen
Chatclient.output.setText(Chatclient.output.getText()+line+"\n");
}
}
} catch(IOException e) {
say("Verbindung zum Server abgebrochen");
}
}
Ich verwende momentan für den Bereich wo der Text dann erscheint ein :
static JEditorPane output = new JEditorPane();
Jedoch ohne ein HTMLDocument oder EditorKit.
Zu guter letzt möchte ich euch noch meinen ganzen Quelltext zur Verfügung stellen,
denn ich denke das es euch so leichter fallen könnte mir zu helfen.
javachat-download
Momentan habe ich noch keine .exe erstellt, da ich das Programm immer mit der Eclipse teste.
Wenn man das Programm starten will muss man als erstes die Klasse "Server_Chat" starten und dann
"Chatclient", der Rest ist simpel.
Ich hoffe ihr könnt mir helfen
Mit freundlichen Grüßen Sodan