Events, Listener, GUI . Größeres Projekt

Status
Nicht offen für weitere Antworten.

DeepBlue

Aktives Mitglied
Hi

Ich bin mitlerweile echt am verzweifeln. Ich sitze momentan an einem größeren Projekt, welches später verschiedene Ansichten im Hauptfenster (quasi Hauptpanels, die wiederum eigenes Layout und Komponenten enthalten), möglicherweise mehrere Fenster und Dialoge enthalten soll. Zudem gibt es eine ToolBar, die sich je nach gewählter Ansicht (also gewähltem Hauptpanel) anpassen soll. Ich halte mich ein wenig abstrakt, da es auch um ein eher generelles Thema geht.
Wie schaffe ich es meine Events und Listener so unterzubringen, dass mein Programm weiterhin strukturiert bleibt. Das Problem vor dem ich stehe ist, dass z.B. ein Klick auf ein Icon meiner Toolbar sowohl Auswirkungen auf mein Hauptfenster als auch auf ein Panel welches verschachtelt 3 Ebenen höher liegt. Problematisch dabei ist, dass sowohl der Listener, als auch das Objekt, dass ich ändern möchte, bzw welches die Änderungen erfährt bekannt sein muss und so wird es bei der Größe des Projekts ein hin und hergeschiebe von Instanzierten Objekten zwischen den Klassen, was ich möglichst vermeiden möchte.

Was ich suche ist als allgemein eine gute Methode, wie ich bei einem Größeren Programm strukturiert mein EventHandling implementieren kann. Lagert man alle Listener in einer eigenen Klasse aus ? Verteilt man wirklich alle Listener in den betroffenen Klassen und übergibt dann Vectoren, die Listner enthalten, an denen sich die Buttons etc anmelden können ? Sind Observer eine Alternative ? Kennt jmd vielleicht ein Link, der sich näher mit dem Thema beschäftigt ?

Ich hoffe ich konnte mein Problem soweit deutlich erklären und mir kann geholfen werden ;)

mfg DeeP
 

Jörg

Bekanntes Mitglied
hm im JavaMagazin 02/2005 war ein Artikel ueber dynamische Menues mit einer Action-Hierarchie mit Singletonblaettern. Evtl
koennte dir das was helfen. Ansonsten vielleicht mal in groesseren Projekten spicken ;)
Auf jeden Fall brauchst du ein gutes Verstaendnis fuer MVC und Abarten ..
 
B

Beni

Gast
Für mich ruft das nach einer typtischen MVC-Lösung:
- Ein Model das sämtliche (!) Daten enthält.
- Views (Tabellen, Bäume, Panels, Fenster, Knöpfe, ...) welche das Model darstellt, und über Listener erfahren, wann sich das Model verändert.
- Controller welche den Benutzer das Model beeinflussen lassen. In diesem Fall werden die Controller z.B. Klassen sein, welche ActionListener implementieren und Buttons abhorchen...

Du kannst versuchen nach dem Grundsatz "eine Aktion - ein Objekt" zu programmieren, also z.B. "Speichern als..." wird eine Klasse. Das Programm bleibt dann ziemlich lange übersichtlich :)
 

DeepBlue

Aktives Mitglied
Beni hat gesagt.:
Du kannst versuchen nach dem Grundsatz "eine Aktion - ein Objekt" zu programmieren, also z.B. "Speichern als..." wird eine Klasse. Das Programm bleibt dann ziemlich lange übersichtlich :)

Besten Dank, das probier ich mal aus. Ich sag dann Bescheid, wenn ich bei Objekt Nr. 2165 angekommen bin ;)

Also ich werds nach dem MVC Pattern machen, wobei ich Control mit der View zusammenlegen werde. Sonst wird mir das bei der Größe zu unübersichtlich.
 

Jörg

Bekanntes Mitglied
"eine Aktion - ein Objekt" zu programmieren, also z.B. "Speichern als..." wird eine Klasse.
das ist im Prinzip auch der Ansatz aus dem Artikel .... nur dass du
i.d.R. nur einen "Speicher als..." brauchen wirst, und deshalb darf das ruhig ein Singleton sein!
 
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
A Vielschichtige GUI und Events? 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
padde479 MenuItem MouseEvent/-Listener AWT, Swing, JavaFX & SWT 5
W Gibt es einen "automatischen Listener" in Swing oder JTable oder der ATM-Klasse? AWT, Swing, JavaFX & SWT 14
G listener repaint() - verschiedene Darstellung AWT, Swing, JavaFX & SWT 24
P JTable Listener für die Änderung einzelner Zellen oder Rows AWT, Swing, JavaFX & SWT 2
K Warum genau hat man einen Listener, dann ein Event und was ist ein Adapter AWT, Swing, JavaFX & SWT 2
J Key-Listener in Java AWT, Swing, JavaFX & SWT 37
S JavaFX - mit Listener Veränderungen in einer TableView abhören AWT, Swing, JavaFX & SWT 3
N JavaFX 1 Listener für mehrere ChoiceBoxen AWT, Swing, JavaFX & SWT 3
B Probleme Action Listener Taschenrechner AWT, Swing, JavaFX & SWT 27
M List Listener AWT, Swing, JavaFX & SWT 37
I AWT Listener während man in anderem Fenster ist AWT, Swing, JavaFX & SWT 4
U Funktionsweise Listener AWT, Swing, JavaFX & SWT 1
L TextField Listener AWT, Swing, JavaFX & SWT 13
K Nullpointer Combobox Listener AWT, Swing, JavaFX & SWT 2
L JavaFX Image im ImageView auf Scroll Listener reagieren AWT, Swing, JavaFX & SWT 5
Salo JTabel Selection listener Bsp. AWT, Swing, JavaFX & SWT 5
J JTable Selection Listener funktioniert nicht AWT, Swing, JavaFX & SWT 4
J Action Listener Rückgabewert AWT, Swing, JavaFX & SWT 14
MaxG. Swing JMenu einen Listener Hinzufügen AWT, Swing, JavaFX & SWT 25
L JavaFX Verbindung zwischen Beschreibung und Listener (Codebehind Klasse) AWT, Swing, JavaFX & SWT 4
T Swing Methode in Listener aufrufen AWT, Swing, JavaFX & SWT 3
S Swing Tabellen - Listener & richtige Row AWT, Swing, JavaFX & SWT 3
J Java -8 Action Listener für mehrere Buttons AWT, Swing, JavaFX & SWT 9
S Erste Schritte mit GUI - Fileverarbeitung, Listener,... AWT, Swing, JavaFX & SWT 10
M JButton - Listener AWT, Swing, JavaFX & SWT 1
R Swing Mehrere JTextFields mit einem Document Listener AWT, Swing, JavaFX & SWT 2
K JavaFX Focus Listener für gesamte Scene AWT, Swing, JavaFX & SWT 1
M Key Listener reagiert nicht AWT, Swing, JavaFX & SWT 4
F In Action Listener TextFields einlesen und prüfen. Abbruch bei falschen Eingaben. Wie mache ich das? AWT, Swing, JavaFX & SWT 2
M Listener funktioniert nicht AWT, Swing, JavaFX & SWT 7
S Swing JComboBox mit Listener aktualisieren AWT, Swing, JavaFX & SWT 13
elischa JFrame über mehrere JPanel und Listener AWT, Swing, JavaFX & SWT 17
llabusch Event Handling Listener spielt verrückt AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben