Event Handling in Komplexen Anwendungen

dbausnnd

Aktives Mitglied
Bisher habe ich vermehrt kleinere Anwendungen erstellt in denen ich die Komponenten nicht allzu tief geschachtelt habe. Jetzt steht eine größere Aufgabe bevor. Erstellt wird ein JDesktopPane mit JInternalFrame in denen unterschiedliche Anwendungen zusammengefasst werden sollen. Dabei sollen beispielsweise die ShortCuts im JInternalFrame erstmal intern geprüft werden ob diese für das InternalFrame sind oder nicht. Ist das Event nicht für das INternalFrame soll das Event im JDesktopPane verarbeitet werden.

Die Frage die bei mir aufkommt wie kann ich das am besten realisieren? Über tipps wäre ich sehr dankbar....

MfG

dbausnnd
 

dbausnnd

Aktives Mitglied
Mir fällt noch eine Frage ein:

Besteht die MÖglichkeit Global ein KeyListener zu setzen der immer aufgerufen wird bei Tastendruck? Sonst müssen ja an allen Komponenten ein KeyListener angehängt werden. Wird eine Komponenten vergessen funktionieren dei Shortcuts nicht.
 

dbausnnd

Aktives Mitglied
Ich habe die Seiten mal überflogen. Wenn ich das richtig sehe ist das doch eine ähnliche Art wie die Verwendung von KeyListener oder sehe ich das falsch?

Im Netz habe ich noch die MÖglichkeit gefunden dem KeyboardFocusManager meinen eigenen KeyEventDispatcher zu registrieren. Das ist doch die einfachste Art und Weise mit den KeyEvents umzugehen oder?

Mein KeyEventDispatcher registriert jegliche gedrückte Taste. Der Dispatch übergibt die Kombi an den JDesktopPane und dieser reagiert darauf. Entweder führt er Sie selber aus, oder er gibt sie dem aktiven JInternalFrame.
 

Marco13

Top Contributor
Der wichtige Unterschied ist, dass man sagen kann, wann eine Component diese KeyStrokes erhalten soll: Bei WHEN_FOCUSED ist es ähnlich zu einem normalem KeyListener. Man kann aber auch WHEN_ANCESTOR_OF_FOCUSED_COMPONENT verwenden, um KeyStrokes auch in Components zu verarbeiten, die "weiter oben" in dier Hierarchie liegen, oder WHEN_IN_FOCUSED_WINDOW, um KeyStrokes auch zu verarbeiten, wenn die Component nicht direkt selbst den Focus hat.
Ein eigener KeyEventDispatcher ist SEHR low-level, und ich kann mir nur schwer einen Fall vorstellen, bei dem man den wirklich verwenden sollte...
 

dbausnnd

Aktives Mitglied
Klar WHEN_IN_FOCUSED_WINDOW ist der Shortcut für die komplatte Anwendung gesetzt. Den KeyStroke kann ich auch nur einmalig setzen. Wird eine weitere Componenten damit versehen ist der alte ShortCut obsolet.

Wie ich eingangs sagt möchte ich ein JDesktopPane erstellen in der Einige JInternalFrames bearbeitet werden von denen ich noch gar nicht weiss was Sie genau Darstellen. Ich benötige ein Oberfläche in der nachträglich von noch weitere Anwendungen eingefügt werdne können/sollen. Wenn eine dieser Integrierten Anwendung beispielsweise STRG F4 überschreibt bekomt der JDesktopPane davon nichts mehr mit. Dieser wollte eigenlich den aktiven Internal Fraem schliessen.

Abgeshen davon das der KeyEventDispatcher low level ist könnte ich hier genau dieses Verfahren einhalten. Wie würdet Ihr ein solches Szenario den lösen?
 

Marco13

Top Contributor
Ja, ist schwer zu sagen. Vielleicht wäre der dispatcher ein Ansatz, vielleicht könnte man auch bei den neu dazukommenden Fenstern nachsehen, ob sie irgendwelche "bösen" Tasten belegen und sie ggf. deaktivieren, aber solange man das Ziel nicht genau kennt... Das soll wohl so eine Art Plugin-System werden...?!
 

dbausnnd

Aktives Mitglied
Als Plugin System kann man es schon bezeichnen. Ich glaube ich werde es mal mit dem Dispatcher versuchen. Mal sehen wie ich damit fahre. Ich danke dir jedenfalls für dein Ideen und Vorschläge. Hast mir gut weitergeholfen......
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Event Handling Event Handling in eigene Klasse AWT, Swing, JavaFX & SWT 4
T Internes Event-handling in TextField/JTextField AWT, Swing, JavaFX & SWT 2
F Event Handling AWT, Swing, JavaFX & SWT 7
N Java Swing Event Handling AWT, Swing, JavaFX & SWT 7
R pint methode und event handling AWT, Swing, JavaFX & SWT 3
D Trennung des Event-Handling von der GUI AWT, Swing, JavaFX & SWT 4
L Event-handling, MouseListener AWT, Swing, JavaFX & SWT 5
K Event-Handling: Was steckt dahinter? AWT, Swing, JavaFX & SWT 11
Juelin in javafx Event auslösen AWT, Swing, JavaFX & SWT 4
G Mouse Event in anderemm Event auslösen AWT, Swing, JavaFX & SWT 50
schoel27 Mehrere JButtons sollen das gleiche Event auslösen 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
izoards Java FX Window Event SHOWING AWT, Swing, JavaFX & SWT 17
Fridolin111 Der KeyListener Löst kein event aus AWT, Swing, JavaFX & SWT 6
B JavaFX Von welcher Klasse und zu welchem Zeitpunkt werden Event-Objekte erstellt? AWT, Swing, JavaFX & SWT 3
L JavaFX Ich suche das passende Textfield Event AWT, Swing, JavaFX & SWT 1
J CheckBoxListCell auf click event in listView reagieren AWT, Swing, JavaFX & SWT 1
W JavaFX Etwas Tabellenartiges + Cell-Content-Changed-Event (o.ä.) AWT, Swing, JavaFX & SWT 30
O Swing Event Dispatch Thread AWT, Swing, JavaFX & SWT 1
B Swing Windowbuilder Rückgabewert im Event AWT, Swing, JavaFX & SWT 3
Z Befehl Action Event Verlassen AWT, Swing, JavaFX & SWT 4
F Event wenn Maus eine JList verlässt AWT, Swing, JavaFX & SWT 13
M JavaFX Absoluter Fokus während drag Event AWT, Swing, JavaFX & SWT 10
Pr0m3theus Animation nach Event AWT, Swing, JavaFX & SWT 6
K Event Handling ComboBox Event Handler AWT, Swing, JavaFX & SWT 7
Sugan Swipe Event? AWT, Swing, JavaFX & SWT 8
Tausendsassa Text changed event handler jTextField AWT, Swing, JavaFX & SWT 3
H Event Handling JavaFx - auf Event warten AWT, Swing, JavaFX & SWT 4
M Mouse Click Event ohne ein JComponent Objekt AWT, Swing, JavaFX & SWT 3
L JDialog - Event wenn Parent größe ändert AWT, Swing, JavaFX & SWT 2
M Swing OnLoad-Event o. Ä. AWT, Swing, JavaFX & SWT 3
D Event Handling "Plötzlich" kein mouseMoved-Event AWT, Swing, JavaFX & SWT 2
A Minimalestopuhr: JLabel.setText() durch eigenes Event ändern AWT, Swing, JavaFX & SWT 6
J Swing JMenuItem-Event?? AWT, Swing, JavaFX & SWT 3
J Swing JTable-Event für einen Select?? AWT, Swing, JavaFX & SWT 3
A Mouse event und exit on close AWT, Swing, JavaFX & SWT 11
V Swing Custom JToggleButton in JTable - Click-Event geht erst beim zweiten Mal AWT, Swing, JavaFX & SWT 7
J Button Event nur einmal ausführen AWT, Swing, JavaFX & SWT 3
S SWT Shell durch Event in der Größe verändern AWT, Swing, JavaFX & SWT 7
J Speichern, Event, Hintergrund getAppletContext AWT, Swing, JavaFX & SWT 2
T Callback vs. Event listener AWT, Swing, JavaFX & SWT 7
F Frage zu Event KeyTyped bei jPanel AWT, Swing, JavaFX & SWT 4
S MenuBar ActionListener Event ... AWT, Swing, JavaFX & SWT 6
T Anzahl Event Listeners AWT, Swing, JavaFX & SWT 4
A Swing JButton int im Event AWT, Swing, JavaFX & SWT 9
G Swing Onkeyup Event AWT, Swing, JavaFX & SWT 3
P Action Event abfangen etwas anders? AWT, Swing, JavaFX & SWT 2
3 Swing NullPointerException in AW Event-0? AWT, Swing, JavaFX & SWT 5
F Swing Auf JComboBox-Event erst NACH Auswahl reagieren AWT, Swing, JavaFX & SWT 8
P Swing Event das ausgelöst wird, sobald Änderung der Größe Abgeschlossen ist AWT, Swing, JavaFX & SWT 4
A Shift-Tab-Event auslösen AWT, Swing, JavaFX & SWT 5
T Event Dispatch Thread und noch ein Thread AWT, Swing, JavaFX & SWT 7
W Swing Event bei Schließen des Fensters AWT, Swing, JavaFX & SWT 6
A Probleme mit dem KeyReleased-event AWT, Swing, JavaFX & SWT 3
J Doppelklick Event AWT, Swing, JavaFX & SWT 32
jueki Event bei Änderung der Spaltenbreite in einem JTable AWT, Swing, JavaFX & SWT 15
D jtabbedpane Event VOR tab-Wechsel AWT, Swing, JavaFX & SWT 3
N Swing JComboBox Event Problem AWT, Swing, JavaFX & SWT 5
M JTree => Event Dispatching Error AWT, Swing, JavaFX & SWT 2
D Event in Fenster ausgeben + Observer + kein Plan AWT, Swing, JavaFX & SWT 2
H warum kann ich das focus event nicht abfangen ? AWT, Swing, JavaFX & SWT 5
X Den Wert von JSpinner setzen ohne Event AWT, Swing, JavaFX & SWT 3
H KeyUp-Event/Ereignis AWT, Swing, JavaFX & SWT 6
C Event Frage AWT, Swing, JavaFX & SWT 7
M Swing WindowListener -> Event abbrechen? AWT, Swing, JavaFX & SWT 2
K JToggleButton deaktivieren (komplettes event nehmen) AWT, Swing, JavaFX & SWT 2
R JTextField - Event bei jedem Buchstaben AWT, Swing, JavaFX & SWT 2
R WindowClosing Event - Schließen rückgängig machen? AWT, Swing, JavaFX & SWT 2
M Actionlistener ohne Event -.-?! AWT, Swing, JavaFX & SWT 2
O Probleme beim Zeichnen und AWT-Event-Queue-0 Exception AWT, Swing, JavaFX & SWT 5
D PropertyChangeListener Event auswertung AWT, Swing, JavaFX & SWT 7
O FlowLayout Button Event zuweisen? AWT, Swing, JavaFX & SWT 7
J remove() components bei event von JComboBox AWT, Swing, JavaFX & SWT 2
I event AWT, Swing, JavaFX & SWT 6
G Swing JFileChooser Event für neue Directory? AWT, Swing, JavaFX & SWT 5
X Checkboxen erstellt mit MouseClicked event AWT, Swing, JavaFX & SWT 10
Dragonfire Swing One componentResized Event AWT, Swing, JavaFX & SWT 14
data89 Was mache ich mit "Dispatched Event Thread"/Substance falsch? AWT, Swing, JavaFX & SWT 4
Kr0e Event simulieren AWT, Swing, JavaFX & SWT 5
S Tastatur Event auserhalb des fokuses aufnehmen AWT, Swing, JavaFX & SWT 4
R Swing ComboBox und doppelter Event!? AWT, Swing, JavaFX & SWT 10
M Swing Event mit Button AWT, Swing, JavaFX & SWT 7
B Wie kann ich ein event wieder beseitigen AWT, Swing, JavaFX & SWT 2
R Checkboxen - Event mit Controller abfangen AWT, Swing, JavaFX & SWT 7
Spin Window Event Beispiel AWT, Swing, JavaFX & SWT 6
O Tabelle über Event sortieren AWT, Swing, JavaFX & SWT 4
Iron Monkey JTable 2 Selektionsfarben Mouse-Event AWT, Swing, JavaFX & SWT 8
Dragonfire JTree, Selection via event AWT, Swing, JavaFX & SWT 7
K JButton auf JPanel in JTable (Darstellungs-/Event-Probleme) AWT, Swing, JavaFX & SWT 16
B JInternalFrame resize event AWT, Swing, JavaFX & SWT 2
E Komponenten in Event Dispatch Thread erzeugen? AWT, Swing, JavaFX & SWT 4
D Event beim Laden eines JPanels? AWT, Swing, JavaFX & SWT 3
O Action Event auslösen bei unbekanntem JTextField AWT, Swing, JavaFX & SWT 3
R Registrieren um Event abzufangen AWT, Swing, JavaFX & SWT 3
N solange Maustaste gedrückt Event AWT, Swing, JavaFX & SWT 15
Daniel_L Nachrichten/Event aus nicht-modalen Dialogen abfragen? AWT, Swing, JavaFX & SWT 4
G Event an einer JComboBox registrieren AWT, Swing, JavaFX & SWT 8
S Welches Event beim ändern einer Zelle in einer JTable AWT, Swing, JavaFX & SWT 4
S Welches Event beim auswählen einer Zelle? [JTable] AWT, Swing, JavaFX & SWT 3
A Event von Login zu Main klasse AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben