V
vr
Gast
Hallo,
Ich habe ein JApplet, auf dem sich ein JPanel befindet, das auf die Taste "F2" reagieren soll. Es lässt sich aus irgendwelchen Gründen kein Fokus auf das Panel legen (Die Ausgaben vor und nach requestFocus sind "ist fokussierbar: true hatFokus: false"). Erst wenn ich ein fokussierbares Objekt (JButton) einfüge und aktiviere, funktionieren dann auch die Tastatureingaben auf dem Panel, das müsste doch auch ohne dieses Objekt gehen?
Weiß jemand Rat?
Vielen Dank im Voraus.
Gruß
Volker
Ich habe ein JApplet, auf dem sich ein JPanel befindet, das auf die Taste "F2" reagieren soll. Es lässt sich aus irgendwelchen Gründen kein Fokus auf das Panel legen (Die Ausgaben vor und nach requestFocus sind "ist fokussierbar: true hatFokus: false"). Erst wenn ich ein fokussierbares Objekt (JButton) einfüge und aktiviere, funktionieren dann auch die Tastatureingaben auf dem Panel, das müsste doch auch ohne dieses Objekt gehen?
Code:
import javax.swing.*;
import java.awt.event.ActionEvent;
public class VInSQL
extends JApplet {
JPanel p;
public VInSQL() {
}
public void init() {
p = new JPanel();
this.getContentPane().add(p);
InputMap iMap = p.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
ActionMap aMap = p.getActionMap();
iMap.put(KeyStroke.getKeyStroke("F2"), "f2Action"); //F2
aMap.put("f2Action", new AbstractAction() {
public void actionPerformed(ActionEvent e) {
System.out.println("F2 von Panel");
}
});
System.out.println("ist fokussierbar: " + p.isFocusable() + " hatFokus: " +
p.hasFocus());
p.requestFocus();
System.out.println("ist fokussierbar: " + p.isFocusable() + " hatFokus: " +
p.hasFocus());
JButton b = new JButton();
p.add(b);
}
}
Weiß jemand Rat?
Vielen Dank im Voraus.
Gruß
Volker