Vielschichtige GUI und Events?

Status
Nicht offen für weitere Antworten.

AndiMb

Mitglied
Hi,

habe jetzt zu meinem Problem im Forum gesucht und keine Antwort gefunden. Deshalb hier die Frage:

Wie ich über GUI-Gestaltung gelesen habe, sollten zu grosse GUI Klassen vermieden werden und somit in verschiedene Klassen verteilt werden. Sprich, ich habe eine Klasse extends JFrame und X Klassen JPanel, worauf ich meine Objekte, oder weitere Container und somit weitere eigene Klassen packe. Nun habe ich mein GUI auf X Klassen verteilt. Wenn ich nun auf eine Komponente eines Containers (in einer beliebigen Klasse) einen Event auslöse, kann und wird es passieren, dass ich eine Komponente einer anderer Klassen bearbeiten möchte. Nun kann ich jedoch nicht auf diese Objekte und Methoden der anghörigen Klasse zugreifen. Wie wird das gemacht?

Eine mögliche Lösung ist, dass jedes Panel eine Referenz auf das JFrame-Objekt hat und dann darüber die anderen Komponenten erreicht. Dies scheint mir doch relativ unelegant. Gibt es bessere Wege?

Danke
Andreas
 

BRT006

Aktives Mitglied
Bei einem Event einfach im JPanel ne Exception werfen und weiter oben im JFrame wieder fangen :D -

Nee, nimm das nicht so ernst, sondern schau dir mal das Entwurfsmuster "Beobachter" an. Das ist eine Möglichkeit, dieses Problem zu behandeln. Wenn du zwischen zwei Komponenten kommunizieren willst, wirst du um einen Austausch der Referenzen kaum drumherum kommen.
 

Jörg

Bekanntes Mitglied
Neben Beobachter hast du das richtige Thema schon selbst angesprochen: Events!
Ueber die Events kannst du Information der einen Klasse
in die andere Uebertragen ...
Am besten du organisierst deine Klassen nach MVC-Pattern, wie
es (abgewandelt) auch in Swing gemacht wird. Dann kannst du
schoen mit Listenern arbeiten...

Insgesamt ist das Thema natuerlich zu umfangreich, um hier
besprochen zu werden, kuck dich nach nem guten Buch um
evtl: Java Swing von Marc Loy (u.a.) -Oreilly
 

MPW

Top Contributor
ähm wie groß machst du das denn...also jedes "normale" Programm kann man doch wohl in eine KLasse stecken...gibt nur irgendwann beim laden Stress, aber du scheinst ja schon eine ganz schön mächtige Gui zu machen....
 
B

Beni

Gast
AndiMb, um zu sagen, wie man das MVC-Prinzip bei dir anwenden könnte: Vielleicht kannst du ein einziges "Model", irgendeine Datenstruktur die absolut nichts mit der GUI zu tun hat, machen. Die Panel verändern dann (direkt oder besser indirekt) Teile dieses Models, und das Model versendet Events, dass alle Panels etwas anderes darstellen sollen.

MPW: du hast noch nie grosse Programme geschrieben, ne? Natürlich kann man das, man kann auch versuchen im Kopfstand eine Flasche Mineralwasser zu trinken... beides keine gute Idee :wink:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G mouse events AWT, Swing, JavaFX & SWT 6
Heldderschatten Java Events und Interfaces AWT, Swing, JavaFX & SWT 18
T Swing Änderung des ActionListener Events nach Klick auf JButton AWT, Swing, JavaFX & SWT 2
D Swing Events vom JLayer abfangen AWT, Swing, JavaFX & SWT 2
D Transparentes Hauptfenster Events AWT, Swing, JavaFX & SWT 1
M Swing Hinter die Kulissen von Events (addActionListener) AWT, Swing, JavaFX & SWT 6
N JTextArea Events weiterleiten AWT, Swing, JavaFX & SWT 3
R SWT Eigene Events erstellen und werfen AWT, Swing, JavaFX & SWT 59
S Mouse Events in einer sortierten JTable unterscheiden AWT, Swing, JavaFX & SWT 18
C Swing Simulation von Drag and Drop Events AWT, Swing, JavaFX & SWT 3
J Events und Sleep? AWT, Swing, JavaFX & SWT 4
C MouseMotionListener fired keine Events mehr wenn in Button AWT, Swing, JavaFX & SWT 2
E JFace ListSelectionDialog & Mouse-Events? AWT, Swing, JavaFX & SWT 2
N Variablen in Events AWT, Swing, JavaFX & SWT 4
P AWT MouseListener unklare abhandlung von Events AWT, Swing, JavaFX & SWT 3
L Swing Auslöser eines Events finden? AWT, Swing, JavaFX & SWT 6
R JTable - eigener Editor - Mouse events AWT, Swing, JavaFX & SWT 2
C keine weiteren Events während Drag&Drop Operation möglich? AWT, Swing, JavaFX & SWT 5
Weltall 7 AWT Maus-Events werden doppelt ausgeführt AWT, Swing, JavaFX & SWT 12
0 Events werden nicht ausgelöst AWT, Swing, JavaFX & SWT 2
V Swing Auslösen von zwei Events hintereinander AWT, Swing, JavaFX & SWT 4
T Swing Control und Events AWT, Swing, JavaFX & SWT 8
MrMilti Gezeichnete Java2D Elemente mit Events versehen AWT, Swing, JavaFX & SWT 3
R Events - Nur auf eines reagieren AWT, Swing, JavaFX & SWT 3
T JComboBox: ActionListener/ItemListener wie nur auf bestimmte Events reagieren? AWT, Swing, JavaFX & SWT 7
B Swing setDefaultButton geht nicht - Komponente fängt Events ab AWT, Swing, JavaFX & SWT 5
R Key und Mouse Events AWT, Swing, JavaFX & SWT 2
K Alle Events abfangen mit GlassPane AWT, Swing, JavaFX & SWT 7
T SWT - Table Events AWT, Swing, JavaFX & SWT 3
hdi Events nicht plattform-unabhängig? AWT, Swing, JavaFX & SWT 14
M SWT: eigene Events AWT, Swing, JavaFX & SWT 9
G Reihenfolge von Events AWT, Swing, JavaFX & SWT 4
D Events bei Tabs in einem Editor AWT, Swing, JavaFX & SWT 2
F Probleme mit MouseWheel events in SWT AWT, Swing, JavaFX & SWT 13
M Globale Events in Windows abfangen AWT, Swing, JavaFX & SWT 2
T Hilfe zu Events? AWT, Swing, JavaFX & SWT 6
S Events abfangen, nicht durchlassen AWT, Swing, JavaFX & SWT 2
T Events unterdrücken AWT, Swing, JavaFX & SWT 8
G An die Quelle einen events kommen AWT, Swing, JavaFX & SWT 2
M Problem mit verschachtelten Events und kein ausweg in sicht AWT, Swing, JavaFX & SWT 3
W Vom JPanel bekomme ich keine Events AWT, Swing, JavaFX & SWT 5
V Events an untere Layers weitergeben AWT, Swing, JavaFX & SWT 2
V events skippen AWT, Swing, JavaFX & SWT 14
M Events auslagern? AWT, Swing, JavaFX & SWT 6
F Events AWT, Swing, JavaFX & SWT 8
N SWT: GUI Windows Events AWT, Swing, JavaFX & SWT 8
I Globale Tastatur-Events abfragen AWT, Swing, JavaFX & SWT 3
D Events werden zu oft aufgerufen AWT, Swing, JavaFX & SWT 4
G Events AWT, Swing, JavaFX & SWT 2
K Mouse Events der Scrollbar/pane AWT, Swing, JavaFX & SWT 2
S Events fremdauslösen AWT, Swing, JavaFX & SWT 17
K Doppelte Events AWT, Swing, JavaFX & SWT 4
A Combobox Focus-Events, Tab in Tabelle AWT, Swing, JavaFX & SWT 7
D Events, Listener, GUI . Größeres Projekt AWT, Swing, JavaFX & SWT 4
V JList mit Events Steuern ? AWT, Swing, JavaFX & SWT 15
S Rechner zu schnell für Events? AWT, Swing, JavaFX & SWT 14
G JTable und Events AWT, Swing, JavaFX & SWT 4
S Events bei 2 gleichen Jtree abfangen AWT, Swing, JavaFX & SWT 3
ShapeShifter JButton erzeugt zwei Events AWT, Swing, JavaFX & SWT 4
B Eigenes Events AWT, Swing, JavaFX & SWT 3
T JScrollPane-Events AWT, Swing, JavaFX & SWT 2
M JTable und Events AWT, Swing, JavaFX & SWT 4
K JComboBox: Endlosschleife durch Events AWT, Swing, JavaFX & SWT 4
K [JComboBox] ENTER löst zwei events aus? AWT, Swing, JavaFX & SWT 2
M Glasspane und dispatchen von Events AWT, Swing, JavaFX & SWT 6
H Events manuell aufrufen AWT, Swing, JavaFX & SWT 4
F JComboBox setEditable( true ) auf Tastatur Events reagieren AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben