Mein Chat

U2nt

Bekanntes Mitglied
Hallo erstmal, mich gibts auch wieder... War längere Zeit nichtmehr wirklich aktiv... ;(
Anyways, hab mal ne Frage an euch:

Bin grad dabei nen kleinen GUT ORGANISIERTEN Broadcastchat zu coden. Klappt alles einwandfrei, bin eig. auch schon fertig. Wollte nurmal fragen ob ihr vielleicht bestimmte Dinge anders machen würdet oder allgemein ob bestimmte Sachen einfach unnötig sind... Also wie gesagt es soll eben gut organisiert programmiert sein, deswegen hab ich mir mehr Arbeit als nötig gemacht, ums dann später, wenn der "Chat" evtl. mehr Funktionen bietet (aufjedenfall ein MySQL Accountsystem :)) es sehr leicht habe.

Nundenn, im Anhang liegt mein ECLIPSE-Projekt Ordner! Ich empfehle es einfach in eclipse zu importieren.

Jaja ich red mal wieder zuviel... Ich mach hier einfachmal Schluss :)

PS: Bitte nicht "klauen" und sagen es wär seins...

Edit: Glaube passt besser ins Netzwerkprogrammierungsforum...
 

Anhänge

  • TxChat.7z
    6,4 KB · Aufrufe: 14
Zuletzt bearbeitet:

eRaaaa

Top Contributor
Wollte nurmal fragen ob ihr vielleicht bestimmte Dinge anders machen würdet oder allgemein ob bestimmte Sachen einfach unnötig sind...

Was mir so beim schnellen Überblicken aufgefallen ist:

- Vector würde ich nicht mehr benutzen. Nimm lieber eine der anderen "Listen". Besser wäre es auch, wenn du hier gegen das Interface programmieren würdest, also List<EConnection>.

- ich persönlich bin kein Freund vom Ableiten von JFrame, wenn man da nicht wirklich grundlegendes ändert.

- Exception-Handling könnte man ein wenig überarbeiten +g*

- deine Threads starten sich alle selbst in ihrem Konstruktor...kann man sich jetzt streiten ob man das überhaupt so machen sollte, aber wenn, dann sollten die Klassen in jedem Falle final sein!

- System.exit könntest du auch leicht umgehen. Passe deine Endlosschleifen an(while(running) -> running auf false setzen etc.), rufe dispose() in der GUI auf etc.
 

U2nt

Bekanntes Mitglied
Danke erstmal eRaaaa!

Hab mir die Kritik mal durchgelesen und das meiste abgeändert, hier kurz ne Liste. Bitte melde dich darauf wieder, und sag mir ob das so ungefähr deinen Vorstellungen entspricht.

  • Der Vector wurde durch eine ArrayList ersetzt!
  • JFrame hat jetzt nurnoch eine Klasse welche NICHT von JFrame erbt. (+ Dispose wird nun aufgerufen, statt einfachdem EXIT_ON_CLOSE)
  • Exceptionhandling... Gut hab da jetzt ein wenig geändert, aber das werde ich erst "verschönern", wenn die ersten User den "Chat" benutzen. Momentan reicht mir bei jeder Exception die Ausgabe des StackTraces.
  • Hab jetzt startThread(), bzw. interruptThread() Methoden angelegt, welche in der jeweiligen Main Klasse aufgerufen werden.
  • Könntest mir vielleicht mal erklären, was genau du mit "leicht umgehen" bei dem System.exit meinst. Hab da jetzt nicht wirklich etwas verändert.

Projekt wie eben, im Anhang.

PS: Ich könnt wetten durch die Änderung hat sich mind. 1 Flüchtigkeitsfehler eingeschlichen, werde mir das nach dem Post hier auchnochma angucken und halt selber nochma durchn Kopf gehn lassen.
 

Anhänge

  • TxChat.7z
    6,9 KB · Aufrufe: 3

eRaaaa

Top Contributor
Danke erstmal eRaaaa!

Hab mir die Kritik mal durchgelesen und das meiste abgeändert, hier kurz ne Liste. Bitte melde dich darauf wieder, und sag mir ob das so ungefähr deinen Vorstellungen entspricht.

Also Kritik wollte ich nicht äußern, hab nur geschrieben was ich mir dabei gedacht habe :)

Der Vector wurde durch eine ArrayList ersetzt!
Gut
[*]JFrame hat jetzt nurnoch eine Klasse welche NICHT von JFrame erbt. (+ Dispose wird nun aufgerufen, statt einfachdem EXIT_ON_CLOSE)
Naja, es geht eher um den Aufruf von System.exit, das sollte man möglichst verhindern, wenn man es kann. Und du kannst es eig. :) Ich meinte nicht dass du dispose überschreiben sollst um dann dort dein System.exit zu platzieren ^^

Exceptionhandling... Gut hab da jetzt ein wenig geändert, aber das werde ich erst "verschönern", wenn die ersten User den "Chat" benutzen. Momentan reicht mir bei jeder Exception die Ausgabe des StackTraces.
Ok, aber umso länger du damit wartest und umso mehr Code du noch einfügst, desto schwieriger wird es später das noch sauber zu implementieren.
Hab jetzt startThread(), bzw. interruptThread() Methoden angelegt, welche in der jeweiligen Main Klasse aufgerufen werden.
Könntest mir vielleicht mal erklären, was genau du mit "leicht umgehen" bei dem System.exit meinst. Hab da jetzt nicht wirklich etwas verändert.
Naja, ich meinte eben, anstelle dann hart System.exit aufzurufen, kannst du ja einfach isRunning auf false setzen, damit endet deine while-Schleife und somit dann zwangsläufig auch dein Programm.

In EConnection wird btw. immer noch der Thread im Konstruktor gestartet.
 

U2nt

Bekanntes Mitglied
Jetzt hab ich verstanden was du meinst! Danke dir.

Ich werd den Post hier in den nächsten 15 Mins. dann nochmal editieren, um dann die neue Source hochzuladen.
 

U2nt

Bekanntes Mitglied
Hey... Sorry nochmal aber irgendwie fällt mir auf, das ich nicht ums System.exit herumkomme:
Wenn ich einfach in dispose schreibe "isRunning = false" dann hört ja nur der Thread auf, und nicht das gesamte Programm...? Könntest mir das vlt. nochma genauer erklären, wär richtig cool.

EDIT:
Habe das so abgeändert, dass System.exit(1); nurnoch aufgerufen wird, um das GUI zu schließen. Im Server kommt dieser Begriff nur garnichtmehr vor. Außerdem auch die Exceptions bissel besser gehandelt mit nem JOptionPane (und einer User freundlichen Error-Nachricht). -> Glaube aber eher das ich dann später für die Errors .log Dateien erstellen werde, wo dann der StackTrace etc. drinsteht.

Außerdem hab ich das mit dem Thread jetzt auch in der EConnection geändert.

Hätte jetzt mal eine ganz andere Frage: Findest du meine Einteilung der Packages sinnvoll? Findest du EConnection sollte ins Server package? (Wollte zuerst das EConnection von beiden Seiten geused wird, hat sich jetzt aber so ergeben...)

Danke.
 

Anhänge

  • TxChat.7z
    7,2 KB · Aufrufe: 2
Zuletzt bearbeitet:

eRaaaa

Top Contributor
Hey... Sorry nochmal aber irgendwie fällt mir auf, das ich nicht ums System.exit herumkomme:
Wenn ich einfach in dispose schreibe "isRunning = false" dann hört ja nur der Thread auf, und nicht das gesamte Programm...? Könntest mir das vlt. nochma genauer erklären, wär richtig cool.

Also irgendwie vermischst du jetzt zwei Sachen. Das dispose sollst du nicht überschreiben, das sollst du aufrufen um das GUI-Fenster zu schließen(und dann somit auch den GUI-Thread wenn keine Fenster mehr sichtbar sind) ! Das mit dem boolean-Flag bezog sich auf deine Endlosschleifen im Server etc.
 

U2nt

Bekanntes Mitglied
Jo hast recht, hab da wirklich so ziemlich was durcheinander gebracht. Denke wie ichs jetzt hab, hast dus gemeint. Bitte schaus dir so nochmal an.

Achja, VIELEN DANK das du dir überhaupt die Mühe machst dir das durchzulesen und anzuschauen.
 

Anhänge

  • TxChat.7z
    6,9 KB · Aufrufe: 3

U2nt

Bekanntes Mitglied
Dann mach ich mal weiter und bau neue Dinge dazu :) Aber das werde ich dann nichtmehr in diesem Thread machen.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Warum wird mein jdk nicht gefunden? Java Basics - Anfänger-Themen 3
J Layout Manager, welcher ist der Richtige für mein Program? Java Basics - Anfänger-Themen 1
dennis_lnz Klassen Wie kann ich mein Java Textadventure verbessern, um ein Klassendiagramm zu erstellen? Java Basics - Anfänger-Themen 9
J Größter gemeinsamer Teiler: mein Code Java Basics - Anfänger-Themen 6
J Mein Programm läuft bei der ersten Eingabe nicht mehr weiter, woran liegt das? Java Basics - Anfänger-Themen 6
J Mein Java Programm lässt sich nicht mehr bearbeiten Java Basics - Anfänger-Themen 2
I Methoden Wieso wird mein Array "a" verändert und meine Variable "a" nicht? Java Basics - Anfänger-Themen 4
Alen123 Warum funktioniert mein Code nicht? Java Basics - Anfänger-Themen 64
sserio Wieso funktioniert mein Programm nicht Java Basics - Anfänger-Themen 2
sserio Wieso funktioniert mein TableView nicht /JavaFX. Java Basics - Anfänger-Themen 4
M Mein quellcode wird nicht in der Konsole ausgegeben Java Basics - Anfänger-Themen 3
J Nach dem Exportieren funktioniert mein Programm nicht mehr Java Basics - Anfänger-Themen 8
P Mein Programm wird zwar erfolgreich Compiliert, öffnet sich aber nicht Java Basics - Anfänger-Themen 6
W Wie ziehe ich von einer bestimmten Zahl, Zahlen ab, bis mein Ergebnis null beträgt? Java Basics - Anfänger-Themen 10
J Kann ich mein Programm so schreiben? Java Basics - Anfänger-Themen 4
S Mein erstes eigenes Projekt - Aufbau und Strukturierung Java Basics - Anfänger-Themen 6
A Java die richtige Programmiersprache für mein Projekt? Java Basics - Anfänger-Themen 1
T Mein Programm hat Fehler Java Basics - Anfänger-Themen 4
S Brauche hilfe in Java [Fehler in mein Code]? Java Basics - Anfänger-Themen 2
S Wie ende ich mein Pogrammierung? [Hilfe] Java Basics - Anfänger-Themen 1
R Mein Plugin funktioniert nicht? Java Basics - Anfänger-Themen 10
J Mein Programm beendet sich ohne mein Zutun Java Basics - Anfänger-Themen 9
A Eine Krone in der Textausgabe - Mein Code Java Basics - Anfänger-Themen 11
M Warum berechnet mein Primzahlenprog zu hohe Zahlen nicht? Java Basics - Anfänger-Themen 20
M OOP Mein erstes Textadventure... Java Basics - Anfänger-Themen 3
G Mein Java Projekt funktioniert nicht Java Basics - Anfänger-Themen 5
W Wieso funktioniert mein Switch Case nicht ?! Java Basics - Anfänger-Themen 9
L Mein Taschenrechner lässt sich plötzlich nicht mehr öffnen Java Basics - Anfänger-Themen 5
x-tshainge Mein Programm lässt sich nicht Starten Java Basics - Anfänger-Themen 8
W Warum läuft mein Programm nicht? Java Basics - Anfänger-Themen 14
W Warum funktioniert mein Programm nicht ? Java Basics - Anfänger-Themen 12
W Warum funktioniert mein Programm nicht ? Java Basics - Anfänger-Themen 6
W Ist mein Struktogram richtig erstellt worden? Java Basics - Anfänger-Themen 4
W Erste Schritte Warum funktioniert mein Programm nicht ? ~if Anweisung~ Java Basics - Anfänger-Themen 4
A Erste Schritte Mein Programm erkennt die variable EinAus.readInt nicht Java Basics - Anfänger-Themen 15
N Warum terminiert mein Programm nicht? Java Basics - Anfänger-Themen 13
G Wie kann ich mein Quellcode als Programm vom desktop starten? Java Basics - Anfänger-Themen 1
P Wie kann ich mein Programm zu einer App umwandeln? Java Basics - Anfänger-Themen 4
M Mein erstes Programm Java Basics - Anfänger-Themen 3
A Mein 1x1 Programm funktioniert nicht? Java Basics - Anfänger-Themen 2
G Input/Output Wo liegt mein Fehler? Java Basics - Anfänger-Themen 4
G Variablen Was ist mein Fehler? Java Basics - Anfänger-Themen 2
C Warum funktioniert mein If Statement nicht richtig? Java Basics - Anfänger-Themen 18
B Drucken: Default Paper von Drucker? Mein Drucker druckt falsch Java Basics - Anfänger-Themen 3
W Compiler-Fehler Fehler - <identifier> expected, wo liegt mein Fehler? Java Basics - Anfänger-Themen 4
stylegangsta Input/Output Hat eclipse eine Macke oder mein Code Array Datei einlesen Java Basics - Anfänger-Themen 5
M Mein erstes Java Programm Java Basics - Anfänger-Themen 5
S Wieso wird mein JFrame transparent dargestellt? Java Basics - Anfänger-Themen 5
N mein RegEx Java Basics - Anfänger-Themen 2
N Mein Bubblesort sortiert mein Array nicht Java Basics - Anfänger-Themen 2
W Wie hat mein Lehrer das gemacht. Java Basics - Anfänger-Themen 2
Z Klassen Warum wird mein Objekt nicht erkannt? Java Basics - Anfänger-Themen 2
J Erste Schritte Zweithöchster Wert eines Arrays herausfinden - warum klappt mein Code nicht? Java Basics - Anfänger-Themen 3
A Wie kann ich mein Programm noch effizienter machen? Java Basics - Anfänger-Themen 1
C Mein Video zu Java Grundlagen Java Basics - Anfänger-Themen 8
T Eclipse kennt mein Button nicht... Java Basics - Anfänger-Themen 5
J Wo liegt nur an dieser einfachen Bedingung mein Fehler? Java Basics - Anfänger-Themen 8
E Mein eigener Listener (Hilfe gesucht) Java Basics - Anfänger-Themen 2
D Brauche Hilfe für mein übungsprogramm Java Basics - Anfänger-Themen 16
T Mein String in ein JLabel stecken Java Basics - Anfänger-Themen 2
T mein erstes Java projekt Java Basics - Anfänger-Themen 8
H Kann ich mein Programm vereinfachen? Java Basics - Anfänger-Themen 3
J Methoden Wo ist mein Fehler ?! Java Basics - Anfänger-Themen 9
1 Mein erstes Programm, HELP!! Java Basics - Anfänger-Themen 2
R .txt in mein Javaprogramm hineinschmelzen Java Basics - Anfänger-Themen 6
T OOP Mein erstes Java-Spiel - Schiffe versenken! Java Basics - Anfänger-Themen 2
E Mein erstes Java Projekt - Sauberer code? Java Basics - Anfänger-Themen 28
S Mein Code is unübersichtlich - besseren Stil Java Basics - Anfänger-Themen 6
D Mein erstes Programm flackert Java Basics - Anfänger-Themen 5
H Ich kann mein Java Programm Test.class nicht ausführen Java Basics - Anfänger-Themen 6
H Probleme mein Ausführen der .class (Ubuntu JDK6) Java Basics - Anfänger-Themen 2
M Mein TableEvent problem Java Basics - Anfänger-Themen 3
C Boolsche Ausdrücke - Wo ist mein Fehler? Java Basics - Anfänger-Themen 14
propra Wie mache ich einem JPanel mein bereits instanziertes Model bekannt Java Basics - Anfänger-Themen 9
M Warum wird mein Icon bei den JTree Nodes nicht angezeigt? Java Basics - Anfänger-Themen 7
K Mein Programm... Heute: Settings-Datei in .jar speichern und auslesen Java Basics - Anfänger-Themen 9
M Kann mein Java Programm nicht starten Java Basics - Anfänger-Themen 6
V Mein erster Konstruktor Java Basics - Anfänger-Themen 3
S GaussJordan in Java, wo liegt mein Fehler? Java Basics - Anfänger-Themen 4
B Methoden Mein erstes Programm - und gleich Probleme Java Basics - Anfänger-Themen 6
O Warum terminiert mein Programm nicht!? Java Basics - Anfänger-Themen 15
S Wo ist mein Fehler? Java Basics - Anfänger-Themen 2
M Sammlung von Anfängerfragen für mein erstes Programm Java Basics - Anfänger-Themen 15
I OOP This-Referenzs > wo liegt mein Denkfehler? Java Basics - Anfänger-Themen 24
L Hashtable nicht wirklich geeignet für mein Vorhaben? Java Basics - Anfänger-Themen 3
W ArrayListe , Wo ist mein Fehler? Java Basics - Anfänger-Themen 6
H wie bekomm ich ein Foto in mein Programm rein? Java Basics - Anfänger-Themen 8
M Mein Externes Programm startet nicht Java Basics - Anfänger-Themen 13
M Timer unterbrechen? Wo ist mein Thread? Java Basics - Anfänger-Themen 2
S wieso ist mein Code falsch? Java Basics - Anfänger-Themen 2
S Mein Computer kennt "javac" und "java" nicht mehr! Java Basics - Anfänger-Themen 6
B XML? Für Uhrzeit und Datum für mein HP? Java Basics - Anfänger-Themen 6
JeromeM90 Mein Java Applet zeitverzögern ? Java Basics - Anfänger-Themen 2
Developer_X Mein erster Internet Explorer Java Basics - Anfänger-Themen 14
B könnte nochmal jemand über mein Projekt schauen? Java Basics - Anfänger-Themen 4
J Mein Objekt will nicht! Java Basics - Anfänger-Themen 2
Screen Scanner Arrays wo liegt mein Fehler? Java Basics - Anfänger-Themen 11
F.S.WhiTeY Java RegEx Will nicht so wie ich will. Wo ist mein fehler ? Java Basics - Anfänger-Themen 3
GambaJo Brauche Bewertung + Tipps für mein kleines Projekt Java Basics - Anfänger-Themen 4
W ich und mein erster Veresuch hilfe Java Basics - Anfänger-Themen 23

Ähnliche Java Themen

Neue Themen


Oben