Listener Suche für F1

Status
Nicht offen für weitere Antworten.
G

Gast2

Gast
Hallo,

ich hatte das Problem schon einmal und wollte jetzt mal Fragen ob einer eine Antowort bzw.Idee hat, was damals nicht der Fall war.

Ich habe ein Hauptframe auf dem mehrer Panels sind und diese Panels weitere komponeneten haben. Nun will ich egal auf welcher komponete gerade der focus ist wenn man F1 drückt eine Hilfe(extra frame) aufgeht....
Das Problem ist ich kann doch nicht jeder meiner Komponenten einen KeyListener anhängen ...also können schon funktioniert auch, aber ich ist ziemlich unpraktisch....
Ein keyListener auf den Hauptframe bringt nichts weil dieser "fast" nie den Focus hat und darum nie das Keyevent dort erfolgt...

Hat jemand eine bessere Lösung ???
 
G

Gast2

Gast
ja aber diese muss ich ja auch auf jede Komponentenklasse(button,textfeld) einfügen oder????
oder reagiert der Action den ich in der inputmap setze auf meine hauptframe wenn dieser kein focus hat???
 

Wildcard

Top Contributor
Ein einfacher Blick in die API hätte schon genügt diese Frage zu beantworten:
http://java.sun.com/javase/6/docs/api/javax/swing/JComponent.html#getInputMap(int)
 
G

Gast2

Gast
ja schon...
ABER was ich nicht ganz verstehe ist WHEN_IN_FOCUSED_WINDOW ...
heißt dass ich die inputmap meines hauptframe ändere ... meine frage ist funktionier die sache dann auch wenn mein hauptframe keinen focus mehr hat ????oder ist das das hauptframe dann die condition WHEN_IN_FOCUSED_WINDOW was bedeutet es würde funktionieren?????
 

Wildcard

Top Contributor
Nimm zB die Content Pane mit der Condition WHEN_ANCESTOR_OF_FOCUSED_COMPONENT. WHEN_IN_FOCUSED_WINDOW würde natürlich auch funktionieren.
 
G

Gast2

Gast
ok alles klar ich versuchs mal...
d.h dass meine contentPane hat immer den window focus hat????? oder was bedeudet das WHEN....
 
G

Guest

Gast
Also wie ich das richtig sehe kann ich nur Klassen die von JComponent erben die InputMap ändern...
Das heißt es hilft mit bei meinem Problem nicht weiter, da ich ja wieder jeden Komponenten Klasse anfassen muss....
ich wollte nur mein jFrame ändern, die keine InputMap hat
 
G

Gast2

Gast
Dass ich von meiner JFrame die InputMap NICHT ändenr kann ist mir klar, ABER ich muss jetzt die Inputmap aller meiner BasisKlassen ändern z.B. textfelder ,buttons etc....
oder ich versteh dich net ganz ...
wäre nett wenn du ein kurzes Beispiel posten kannst...(wie das mit der Inputmap funktioniert ist mir klar) nur nicht wie ich die oberklasse mache....

Mein Ziel ist nicht in jeder Basisklasse die Inputmap zu änder...
Aber ich weiß nicht wie ich die obeklasse von den JComponenten hinbekomme....

ich hoffe es war jetzt verständlicher =) =)
 

Wildcard

Top Contributor
Ich hab doch schon gesagt das du zB die ContentPane nehmen kannst, da sie der Parent aller JComponents in deinem JFrame ist.
 
G

Gast2

Gast
??? Sorry versteh ich nicht....
Also die ContentPane hat auch keine inputMap???
oder meinst du ich soll mit einer schleife alle meine Componenten holen und dort die inputmap dann ändenr?
 

Wildcard

Top Contributor
:roll:
Irgendein JPanel als ContentPane verwenden und dort die InputMap anpassen. Von mir aus auch einfach ein JPanel auf den Frame adden und selbiges dort erledigen. Kann doch nicht so schwierig sein
 
G

Gast2

Gast
ja jetzt hab ich verstanden was du meinst ok ich versuchs mal =)

ich dachet du meintest frame.getContenPane()
 

Niki

Top Contributor
so gehts auch:
Code:
InputMap im = ((JComponent)getContentPane()).getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
 

Niki

Top Contributor
gar keinen Listener sondern eine AbstractAction, du mappst einen KeyCode auf einen String, und bei der ActionMap den String auf eine AbstractAction
Code:
JComponent c = (JComponent)getContentPane();
InputMap im = c.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
ActionMap am = c.getActionMap();

im.put(KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0), "F1");
am.put("F1", new AbstractAction(){
  public void actionPerformed(ActionEvent e){
    System.out.println("F1 typed");
  }
});
 
G

Gast2

Gast
okay danke

nur zum verständniss
in der inputmap stehen alles meine Ergeinisse , die die actionPerformed aufrufen???

und was genau passiert mit der ActionMap???
 

Niki

Top Contributor
Du definierst für ein oder mehrere KeyCodes ein oder mehrere actions (der zweite Paramter). So ist es Möglich auf zwei verschiedene KeyCodes die gleiche Action auszuführen!
 
G

Gast2

Gast
also kann ich den 2ten Parameter mehrmals vergeben????

Aber was genau steht in der ActionMap und was in der InputMap ich versteh das zusammenspiel noch nicht richtig
 

Niki

Top Contributor
der zweite Parameter der InputMap (also der value) ist der erste Parameter der ActionMap (also der key). Über diesen String wird das Mapping erzeugt.
 
G

Gast2

Gast
ok soweit ist es klar....

1.wenn ich einer jComponente aber einen ActionListern anhängen kann z.B. JButton dann muss ich in der Actionmap nichts verändern sondern nur die Inputmap erweitern?????
2. Stehen alle Action Ereignisse in der Actionmap?
 

Niki

Top Contributor
InputMap und ActionMap sind für KeyEvents, wenn du einem Button einen ActionListener hinzufügst, hat das nichts damit zu tun. Der ActionListener beim Button reagiert auf Mouseclicks auf die Komponente. Vor Version 1.4 hat man einfach einen KeyListener dem Frame hinzugefügt und das hat funktioniert. Ab 1.4 muss man halt die Keys auf die man lauschen will über die Input- und ActionMaps registrieren.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Swing Suche Listener für beliebige Änderung an GUI Items/Controls AWT, Swing, JavaFX & SWT 8
hdi JTable -> Suche passenden Listener AWT, Swing, JavaFX & SWT 10
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
kaoZ Swing Architektonisches Problem / Listener / MVC AWT, Swing, JavaFX & SWT 14
H org.eclipse.swt.widgets.Scale MouseRelease listener AWT, Swing, JavaFX & SWT 1
MaDDin-94 Swing Listener reagiert nicht immer AWT, Swing, JavaFX & SWT 2
A JLabel im Listener färben AWT, Swing, JavaFX & SWT 11
M Key-,... Listener funktioniert nicht immer AWT, Swing, JavaFX & SWT 2
P Event Handling Listener beim öffnen von einem JPopupMenu AWT, Swing, JavaFX & SWT 3
A Listener für JGTextField AWT, Swing, JavaFX & SWT 2
J Programmierstil: Kommunikation Listener und GUI AWT, Swing, JavaFX & SWT 3
B JTable Renderer / Listener AWT, Swing, JavaFX & SWT 7
M Swing JList Listener AWT, Swing, JavaFX & SWT 20
K Action Listener implementieren über Objekt AWT, Swing, JavaFX & SWT 14
E Listener AWT, Swing, JavaFX & SWT 3
M SWING Listener ohne Wirkung AWT, Swing, JavaFX & SWT 2
P Listener Auswahl Tabelle AWT, Swing, JavaFX & SWT 6
P JPanel- Listener durch JTextArea aktivieren AWT, Swing, JavaFX & SWT 8
J Swing dragging listener AWT, Swing, JavaFX & SWT 5
H Problem mit dem Action listener.... AWT, Swing, JavaFX & SWT 2
J Frame mit Button erstellen - Warum ist es nötig, Frame über Unterklasse zu erstellen? (Reg Listener) AWT, Swing, JavaFX & SWT 2
M Fenster schließen - Listener AWT, Swing, JavaFX & SWT 5
G SWT TreeViewer - drop listener austauschen AWT, Swing, JavaFX & SWT 2
S Action Listener in innerer Klasse ausführen. AWT, Swing, JavaFX & SWT 8
J Sinn eines Selection Listener AWT, Swing, JavaFX & SWT 5
M JList mit DefaultListModel und listener AWT, Swing, JavaFX & SWT 4
M comboBox Listener? AWT, Swing, JavaFX & SWT 2
T Listener in anderen Panel deaktivieren AWT, Swing, JavaFX & SWT 3
T SWT: Listener auf einem Button reagiert nicht AWT, Swing, JavaFX & SWT 2
L Swing JTextField Content-Listener AWT, Swing, JavaFX & SWT 4
P AWT Wie kann mein listener den Inhalt eines anderen Textfelds ändern? AWT, Swing, JavaFX & SWT 10
M Ansätze zur Kombination mehrerer Listener für Interaktion AWT, Swing, JavaFX & SWT 19
C JLabel Listener auf Textänderung? AWT, Swing, JavaFX & SWT 5
M Mouse Wheel Listener reagiert mehrmals AWT, Swing, JavaFX & SWT 5
F SWT Button listener richtig erstellen AWT, Swing, JavaFX & SWT 2
El_Lobo Swing Problem bei Methodenaufruf in innerer Klasse bei Listener AWT, Swing, JavaFX & SWT 3
S Wem füge ich welchen Listener hinzu? AWT, Swing, JavaFX & SWT 4
R Durch Listener lässt sich Programm nicht mehr ausführen AWT, Swing, JavaFX & SWT 4
T Callback vs. Event listener AWT, Swing, JavaFX & SWT 7
S Swing JTree und seine Listener... AWT, Swing, JavaFX & SWT 4
E JComboBox Listener AWT, Swing, JavaFX & SWT 2
AyKay SWT (alle) Listener bzw. ModifyEventListener entfernen AWT, Swing, JavaFX & SWT 2
S jTextField Listener AWT, Swing, JavaFX & SWT 7
E Listener, werte in andere Klasse übernehmen AWT, Swing, JavaFX & SWT 11
L Action listener in bestimmter spalte AWT, Swing, JavaFX & SWT 2
J AWT Action Listener etc. AWT, Swing, JavaFX & SWT 7
xehpuk Swing Listener für JPopupMenu AWT, Swing, JavaFX & SWT 3
F JCalendar mouseclick listener AWT, Swing, JavaFX & SWT 2
W AWT Listener bei TrayIcon AWT, Swing, JavaFX & SWT 2
K Swing Listener bei JPopupMenu AWT, Swing, JavaFX & SWT 9
E Swing JTextField Listener nach Update?! AWT, Swing, JavaFX & SWT 2
T TransformGroup Listener AWT, Swing, JavaFX & SWT 8
O Swing JTable Listener AWT, Swing, JavaFX & SWT 2
O Collection Listener AWT, Swing, JavaFX & SWT 6
L AWT Paint(g) im Listener aufrufen AWT, Swing, JavaFX & SWT 2
G JTree - Observer oder Listener? AWT, Swing, JavaFX & SWT 6
Avalarion SWT Listener auf Label oder Text Teile AWT, Swing, JavaFX & SWT 10
C Ermitteln ob JComponent einen Listener besitzt AWT, Swing, JavaFX & SWT 2
L JTextfield Listener AWT, Swing, JavaFX & SWT 3
C Listener Probleme AWT, Swing, JavaFX & SWT 6
N Listener für Variable AWT, Swing, JavaFX & SWT 4
C Swing Listener für TabPanel AWT, Swing, JavaFX & SWT 8
B Line aus Listener? AWT, Swing, JavaFX & SWT 11
G Model,Listener und background jobs AWT, Swing, JavaFX & SWT 4
1 JList - clearSelection nicht berücksichtigen im Listener AWT, Swing, JavaFX & SWT 7
I Swing Listener auf JPanel AWT, Swing, JavaFX & SWT 9
Dit_ MutableComboBoxModel | Listener fehlt ? AWT, Swing, JavaFX & SWT 6
T Swing JSlider und Adjustment-Listener wollen nicht so recht AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben