GUI hier, ActionListener da

Status
Nicht offen für weitere Antworten.
A

Andara

Gast
Hi

bin noch ganz neu was gui betrifft. Also vielleicht ist mein Problem einfach nur dumm.

Ich habe ein paar Fenster gebastelt und diese als Package 'gui' abgelegt.
Dann hab ich eine Client/Server-Application geschrieben.

Die klasse client soll mit 'implements ActionListener' deklariert werden.
Nach aufruf von 'java client server-ip'
öffnet der client das LoginWindow (eine klasse der gui).

Dann wollte ich die actionPerformed-methode im Client implementieren, welche zentral alle events aus allen Fenstern auffangen und auswerten soll.
Allerdings scheint das nicht zu funktionieren ...

Wenn ich in der klasse LoginWindows 'implements ActionListener' mache verlangt java, daß actionPerformed auch da überschrieben wird. Aber ich will die Auswertung doch in der Klasse client machen... und wenn ich andererseits die Klasse windows nicht 'implements ActionListener' mache, dann funktioniert myButton.addActionListener(this) nicht...

Hat jemand vielleicht Zeit und Muße und könnte mir ein kleines Beispiel zukommen lassen, wie man die actionPerformed Methode zentral von einer klasse für alle fenster aufführt, die in der GUI vorkommen ? Falls das überhaupt möglich ist..

Gruß und vielen Dank im Voraus
Ingo
 

Ebenius

Top Contributor
Also: Ob es möglich ist, die events der GUI an EINER Stelle zu handhaben, ist zweitrangig, da man das einfach nicht tut. Du solltest Dir überlegen, was Deine GUI-Elemente tun und das sollten sie dann auch selbst tun (und nicht an einen zentralen Event-Handler weiterleiten). Also solltest Du Dir einfach mal über die zweckmäßige Aufteilung Deiner GUI-Komponent Gedanken machen.

Weiterhin lässt Deine Frage vermuten, dass Dir auch die objektorientierte Programmierung noch nicht so ganz an's Herz gewachsen ist. Natürlich kannst Du bei einer Methode
Code:
addActionListener(ActionListener listener)
nur Instanzen von ActionListener's übergeben. Und natürlich muss eine Klasse, die das Interface "ActionListener" implementiert auch alle ActionListener-Methoden implementieren.

Schau Dir doch nochmal die Benutzung des Wortes implements bzw. das Interface-Konzept in java an.

Grüße, Ebenius

Anbei: das Thema gehört eher zu den Anfängern, nicht böse sein. *Verschieb*
 

marsias

Aktives Mitglied
Hi!

Du wirst schnell merken das das eine schlechte idee ist, alle events in einer klasse zu
verwalten. Fange die events in der klasse ab in der sie auch passieren.
aber es gibt da auch möglichkeiten mit threads...weil wenn ein event eintritt zb eine
datenbankabfage, und die lange dauert, ist deine swing-oberfläche in dieser zeit blockiert und
kann keine events verarbeiten. dazu gibt es aber lektüre.....

Zu den Interfaces wie Ebenius sagt: nochmal angucken!

mfg
 
G

Guest

Gast
Hi Ihr Beiden,

danke für Eure Unterstützung und nein ich bin nicht böse, wenn mein Thread in den Noob-Bereich gesteckt wurde.

Ich hab inzwischen herausgefunden wie ich mein Ziel erreiche... es funktioniert.

Warum ich das machen will .. also ich programmier Java seit ca. 2 Monaten und ich finde einfach keine bessere Lösung.
Ich hab da meine Klasse SLClient, welche eine Instanz von sich selbst startet. Die Klassenvariablen beinhalten ServerIP/name und ServerPort, sowie DataIn- und DataOutputStream.

Zuerst hab ich versucht ActionListener in der Klasse LoginWindow zu implementieren. Allerdings mußte ich feststellen, die einzige (mir bisher bekannte) Möglichkeit, vom LoginWindow an den Server zu kommen ist, daß ich die Klassenvariablen des SLClients an den Konstruktor des LoginWindows übergebe.

Deine Vermutung betreffend, daß mir die objektorientiert Programmierung noch nicht so ganz ans Herz gewachsen ist, kann ich nur unterstreichen. Hab vor ca. 10 Jahren mal Ansi C gelernt und davor mit TurboPascal und Cobol gearbeitet.
Von all dem hab ich inzwischen fast alles vergessen.

Gruß
Ingo
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
D Ist Ableiten hier sinnvoll Java Basics - Anfänger-Themen 5
K Warum wird mir hier nach dem ersten Durchlauf zwei mal "welchen Datentyp wollen sie übergeben?" ausgegeben ? Java Basics - Anfänger-Themen 1
B Dekorator Muster - Irgendwas stimmt hier doch nicht? Java Basics - Anfänger-Themen 4
frager2345 Warum muss ich hier im Konstruktor meine Exeption nicht abfangen ? Java Basics - Anfänger-Themen 4
D Warum kann ich hier nicht auf die Methode zugreifen? Java Basics - Anfänger-Themen 5
H BlueJ: was genau ist hier der Fehler? Java Basics - Anfänger-Themen 14
J Hallo zusammen , was macht diese Methode hier genau? Java Basics - Anfänger-Themen 3
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
M Was wird hier genau getestet? Java Basics - Anfänger-Themen 9
M Was habe ich hier falsch, dass wenn ich z.B.: 11 eingebe mir false zurück gegeben wird? Java Basics - Anfänger-Themen 2
M Kann mir jemand hier die Logik vermitteln? Java Basics - Anfänger-Themen 3
M Wie kann ich hier den Abstand ausgeben? Java Basics - Anfänger-Themen 3
S Wie kann ich bei diesem Code erreichen, das als Ergebnis hier 15 herauskommt? Java Basics - Anfänger-Themen 23
P Weswegen entstehen hier Syntaxfehler? Java Basics - Anfänger-Themen 3
J Wie kann ich hier eine While schleife einbauen? Java Basics - Anfänger-Themen 3
A Wieso bekomme ich hier zwei unterschiedliche Ausgaben? Java Basics - Anfänger-Themen 6
S Was für Aufgaben könnten sich hier hinter verbergen? Java Basics - Anfänger-Themen 5
R Warum werden hier nur die grün und orangen Linien ausgegeben und der Rest unten nicht? Java Basics - Anfänger-Themen 5
R Wie würde hier die if-Anweisung aussehen? Java Basics - Anfänger-Themen 18
S Operatoren i=i++; Was passiert hier? Java Basics - Anfänger-Themen 21
G Warum ist hier ein Lamda-Ausdruck möglich Java Basics - Anfänger-Themen 2
O Was bedeutet das hier 999_983? Java Basics - Anfänger-Themen 2
F Warum ist die Ausgabe hier 1? Java Basics - Anfänger-Themen 4
P Vererbung Warum funktioniert die Vererbung hier nicht Java Basics - Anfänger-Themen 14
M Wie kann ich hier ein Textfeld hinzufügen Java Swing? Java Basics - Anfänger-Themen 1
L Collections Ist eine Arraylist hier das richtige? Java Basics - Anfänger-Themen 12
S Unklarer Code (was passiert hier?) Java Basics - Anfänger-Themen 1
R Kann mir hier jemand weiterhelfen? Java Basics - Anfänger-Themen 1
B Wieso wird hier so viel als falsch angezeigt? Java Basics - Anfänger-Themen 2
B Wieso gibt er hier nur die ungeraden Zahlen aus? Java Basics - Anfänger-Themen 5
B Kann mir jemand erklären, warum hier dreimal was ausgegeben wird und nicht nur zweimal? Java Basics - Anfänger-Themen 16
P Compiler-Fehler Wo befindet sich hier der Fehler und warum? Java Basics - Anfänger-Themen 21
K Public Attribute oder getter - funktioniert leider beides hier nicht Java Basics - Anfänger-Themen 5
F Operatoren Wieso fliegt hier eine NullPointer Exception :( Java Basics - Anfänger-Themen 3
K Was wird hier nacheinander gemacht? Java Basics - Anfänger-Themen 1
L [ARRAY] Werden hier die Indezes oder die Werte vergliechen? Java Basics - Anfänger-Themen 4
M Liegt hier bereits ein Bad Smell vor? Java Basics - Anfänger-Themen 9
K Was macht hier genau return? Java Basics - Anfänger-Themen 2
V in diesem Forum wurde mir am meisten geholfen, daher eine Frage die hier nicht passt. sry (VB Frage) Java Basics - Anfänger-Themen 3
T boolean, was passiert hier? Java Basics - Anfänger-Themen 4
O euer chat hier Java Basics - Anfänger-Themen 1
R kann mir jemand erklären was hier gemacht wurde? Java Basics - Anfänger-Themen 10
K Wie übergebe ich hier korrekt die Werte Java Basics - Anfänger-Themen 5
B Warum gibst hier Equals false zurück ? Java Basics - Anfänger-Themen 23
V Warum wird hier 200 ausgeliefert? Java Basics - Anfänger-Themen 39
S Klassen Klasse oder nicht Klasse - das ist hier die Frage Java Basics - Anfänger-Themen 6
W Methoden Wie wird eine Methode hier aufgerufen? Java Basics - Anfänger-Themen 5
S wieso Fehlermeldung cannot find symbol hier Java Basics - Anfänger-Themen 10
K Was ist hier Falsch? Java Basics - Anfänger-Themen 3
L Erste Schritte Sollte ich hier lieber Cases verwenden oder wäre eine If-Bedingung besser? Java Basics - Anfänger-Themen 6
E Kann mir jemand sagen was hier falsch ist? Java Basics - Anfänger-Themen 6
J Was passiert hier? Java Basics - Anfänger-Themen 6
D Wie "unchecked cast" hier vermeiden? Java Basics - Anfänger-Themen 2
R Wieso hänge ich hier in einer Endlosschleife (vermute ich zumindest)? Java Basics - Anfänger-Themen 2
Q switch case hier möglich Java Basics - Anfänger-Themen 10
P Was ist hier falsch? Java Basics - Anfänger-Themen 6
Luk10 Wo zum Teufel fehlen Hier Klammern? Java Basics - Anfänger-Themen 2
T Was mache ich hier falsch? Java Basics - Anfänger-Themen 3
M Was könnte hier nicht stimmen??? Java Basics - Anfänger-Themen 9
K Warum funktioniert hier die setText methode? Java Basics - Anfänger-Themen 3
S Wie ereuge ich hier am besten eine Schleife Java Basics - Anfänger-Themen 12
K Hier noch ein Konstruktor aufbauen Java Basics - Anfänger-Themen 6
G Welche Datenstruktur ist hier die sinnvolste Java Basics - Anfänger-Themen 6
M warum kompiliert das hier nicht? Java Basics - Anfänger-Themen 3
G Probleme mit break hier; in if-Bedingung Java Basics - Anfänger-Themen 5
S Hallo, ich hab hier ein Buch Java Basics - Anfänger-Themen 11
S Warum wirkt hier synchronized nicht? Java Basics - Anfänger-Themen 9
S Funktion hier sinnvoll ? Java Basics - Anfänger-Themen 4
zilti Was ist hier falsch? Java Basics - Anfänger-Themen 13
S Bot Fragen(hoffe das ist hier richtig) Java Basics - Anfänger-Themen 12
D was stimmt hier nicht? Java Basics - Anfänger-Themen 7
W HTML oder nicht? Das ist hier die Frage. Java Basics - Anfänger-Themen 4
G Abstrakte Klasse (was passiert hier) Java Basics - Anfänger-Themen 3
K Was ist hier faul? Java Basics - Anfänger-Themen 29
L Was stimmt hier nicht Java Basics - Anfänger-Themen 2
G konkretes beispiel: interface hier besser als abstrakte kl. Java Basics - Anfänger-Themen 4
V Reihenfolge von Befehlen - hier repaint() zu spät Java Basics - Anfänger-Themen 13
G was ist hier falsch? Java Basics - Anfänger-Themen 5
E Wo liegt hier der Fehler? Java Basics - Anfänger-Themen 13
L wo liegt hier der fehler? Java Basics - Anfänger-Themen 3
C Wie muss man hier aufrufen von 2 eigenen Klassen? Java Basics - Anfänger-Themen 6
J JInternalFrame: Warum funktioniert das hier nicht? Java Basics - Anfänger-Themen 11
P was ist denn hier falsch ? (nur 1Zeile) Java Basics - Anfänger-Themen 21
H Wie hier die Progressbar benutzen? Java Basics - Anfänger-Themen 8
M Was wird hier geprüft? Java Basics - Anfänger-Themen 10
D Was ist hier falsch in der JTable? Java Basics - Anfänger-Themen 5
ven000m Was läuft hier nicht gescheit? Java Basics - Anfänger-Themen 12
megachucky Suche ein paar gute Tutorials so wie dieses hier. Java Basics - Anfänger-Themen 4
3 Verschiedene Fragen (bin neu hier) Java Basics - Anfänger-Themen 5
M Warum rechnet Java hier nicht richtig? Java Basics - Anfänger-Themen 3
H weiss nicht wo hier der fehler liegt Java Basics - Anfänger-Themen 3
J hier Random oder was Einzusetzen Java Basics - Anfänger-Themen 2
E ActionListener Java Basics - Anfänger-Themen 4
U Eigenschaft eines JTextfiels per ActionListener ändern... Java Basics - Anfänger-Themen 2
U HILFE! - per ActionListener Felder enablen....... Java Basics - Anfänger-Themen 5
C JButton reagiert nicht auf actionListener Java Basics - Anfänger-Themen 15
H Eine Methode über Actionlistener beenden Java Basics - Anfänger-Themen 8
J Array Actionlistener Java Basics - Anfänger-Themen 9
J ActionListener von JCheckBox im Knoten von JTree funktioniert nicht Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben