Kein Fokus für Key Bindings auf JPanel bzw JApplet

Status
Nicht offen für weitere Antworten.
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?


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
 

André Uhres

Top Contributor
Mit Java 6 funktioniert es bei mir so (Ausgabe: p.hasFocus(): true):
Code:
import java.lang.reflect.*;
import javax.swing.*;
import java.awt.event.*;

public class VInSQL
        extends JApplet {

    private JPanel p;

    public VInSQL() {
    }

    public void init() {
        Runnable runnable = new Runnable() {

            public void run() {
                p = new JPanel();
                VInSQL.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");
                    }
                });
                p.requestFocusInWindow();
                p.addFocusListener(new FocusAdapter() {

                    @Override
                    public void focusGained(FocusEvent e) {
                        System.out.println("p.hasFocus(): " + p.hasFocus());
                    }
                });

            }
        };
        try {
            SwingUtilities.invokeAndWait(runnable);
        } catch (InterruptedException ex) {
            ex.printStackTrace();
        } catch (InvocationTargetException ex) {
            ex.printStackTrace();
        }
    }
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C AWT Fokus von Component entfernen, wenn kein anderes vorhanden AWT, Swing, JavaFX & SWT 4
N imageIcon zeigt kein Bild an AWT, Swing, JavaFX & SWT 5
P kein Scrollen nach affinertransformation bei mouse dragged AWT, Swing, JavaFX & SWT 2
Fridolin111 Der KeyListener Löst kein event aus AWT, Swing, JavaFX & SWT 6
F Kein JavaFX mehr im Eclipse Wizard AWT, Swing, JavaFX & SWT 1
S Swing Bei start des Programmes kein Fenster zu sehen AWT, Swing, JavaFX & SWT 1
L JavaFX TableView kein content text ändern AWT, Swing, JavaFX & SWT 2
cool_brivk24 Swing ImageIcon lädt kein Bild AWT, Swing, JavaFX & SWT 12
L JavaFX Anderer Text, wenn kein Platz ist. AWT, Swing, JavaFX & SWT 1
C JavaFX ProGuard -> TableView kein Inhalt AWT, Swing, JavaFX & SWT 7
B JavaFX Text wird nicht angezeigt, kein Fehler AWT, Swing, JavaFX & SWT 2
D Kein Icon beim JTabbedPane AWT, Swing, JavaFX & SWT 1
P Kein Bild wird angezeigt bei ImageIcon AWT, Swing, JavaFX & SWT 16
krgewb Kein src-Verzeichnis AWT, Swing, JavaFX & SWT 1
A Swing CardLayout - kein Wechsel möglich AWT, Swing, JavaFX & SWT 5
Wurstkopp JavaFX JavaFX KeyEvent kein Zahlencode um unbekannte Mediatasten auszuwerten? AWT, Swing, JavaFX & SWT 0
Nabbit Über JList kein JPopupMenu AWT, Swing, JavaFX & SWT 2
S Kein JFrame unter Mac? AWT, Swing, JavaFX & SWT 8
F Gui weicht von Designpreview ab (kein fensterrahmen, andere größe) AWT, Swing, JavaFX & SWT 13
Z AWT JLabel setzt kein neuen Text AWT, Swing, JavaFX & SWT 6
Seikuassi Swing JTextField nimmt kein Einfügen (Strg+V) an AWT, Swing, JavaFX & SWT 4
T JavaFX ControlsFX-Notification öffnet nicht wenn kein JavaFX-Fenster offen. AWT, Swing, JavaFX & SWT 1
M Kein Zeichnen der Figuren auf JPanel AWT, Swing, JavaFX & SWT 4
P Event Handling Anfängerfrage: ActionEvent bekommt kein Zugriff auf Objekt AWT, Swing, JavaFX & SWT 3
S Kein DnD in allen Java Applikationen AWT, Swing, JavaFX & SWT 5
D Event Handling "Plötzlich" kein mouseMoved-Event AWT, Swing, JavaFX & SWT 2
R Bitte kein Menü bei F10 AWT, Swing, JavaFX & SWT 9
M Kein resize nach Component.setVisible() AWT, Swing, JavaFX & SWT 2
T AWT Graphics G Kein Text erscheint warum? AWT, Swing, JavaFX & SWT 12
M Swing JMenu verdeckt durch Komponente (aber kein AWT und Swing mix!?) AWT, Swing, JavaFX & SWT 3
P EDT Problem? Kein Aufruf der repaint Methode AWT, Swing, JavaFX & SWT 6
H TextArea zeigt kein Text an AWT, Swing, JavaFX & SWT 6
Y Kein GantChart in einem GridLayout AWT, Swing, JavaFX & SWT 5
D Event in Fenster ausgeben + Observer + kein Plan AWT, Swing, JavaFX & SWT 2
D JTable während edit kein update machen lassen AWT, Swing, JavaFX & SWT 2
M Swing Kein update bei simulierten HTML-Link AWT, Swing, JavaFX & SWT 4
S JTable erlaubt kein Komma um Dezimazahlen einzugeben..? AWT, Swing, JavaFX & SWT 2
S Swing jTextPaine kein Zeilenumbruch nach setText() AWT, Swing, JavaFX & SWT 9
hdi Swing EDT macht kein repaint() AWT, Swing, JavaFX & SWT 2
T Editable ComboBox / kein Weiterspringen AWT, Swing, JavaFX & SWT 12
Spin Innere Klasse : kein static? AWT, Swing, JavaFX & SWT 8
G jpanel macht kein repaint AWT, Swing, JavaFX & SWT 2
G CellEditor - Kein "Textfeld" AWT, Swing, JavaFX & SWT 6
N JCalendar - Kein Datum auswählen AWT, Swing, JavaFX & SWT 3
E Hat Netbeans unter Linux kein Designer für Swing? AWT, Swing, JavaFX & SWT 3
@ JPanel: kein paintComponent() trotz repaint() AWT, Swing, JavaFX & SWT 4
W Kein MouseKlick-Event bei Bewegung AWT, Swing, JavaFX & SWT 2
B Finde kein PrintService der das Attribut PageRanges annimmt AWT, Swing, JavaFX & SWT 22
B [JTable] kein Sortieren der versteckten Columns AWT, Swing, JavaFX & SWT 9
B kein MouseEvent bei zu schneller Bewegung der Maus AWT, Swing, JavaFX & SWT 7
N Threads kein neues Fenster erzeugen lassen AWT, Swing, JavaFX & SWT 4
A Komponente entfernen. Kein neuzeichnen nach validate() AWT, Swing, JavaFX & SWT 2
technolion FileDialog/keine Multi-Selektion vs. JFileCHooser/kein LaF AWT, Swing, JavaFX & SWT 2
G Leider trotz allem kein Icon :( Brauche Hilfe AWT, Swing, JavaFX & SWT 3
M Problem mit verschachtelten Events und kein ausweg in sicht AWT, Swing, JavaFX & SWT 3
Z kriege kein paint AWT, Swing, JavaFX & SWT 13
B Kein Repaint während eines Prozesses. AWT, Swing, JavaFX & SWT 5
O JScrollPane beinhaltet JPanel mit null Layout kein Scrollen AWT, Swing, JavaFX & SWT 3
K jTable - kein repaint? AWT, Swing, JavaFX & SWT 9
D JDialog: kein Icon nach setResizeable(false) AWT, Swing, JavaFX & SWT 5
K Kein Header in JTable ! AWT, Swing, JavaFX & SWT 8
S Mouselistener erzeugt kein Event in einem Menuitem AWT, Swing, JavaFX & SWT 2
J Tabelle zeigt kein Header AWT, Swing, JavaFX & SWT 5
A Ich kann kein JInternalFrame anzeigen ! AWT, Swing, JavaFX & SWT 7
G für showInputDialog kein eigenes Icon auswählen AWT, Swing, JavaFX & SWT 6
R JTextField - setBackground - kein Effekt AWT, Swing, JavaFX & SWT 5
M KeyEvent ohne Fokus konsumieren AWT, Swing, JavaFX & SWT 1
H Swing Wie Fokus von JTextField entfernen? AWT, Swing, JavaFX & SWT 9
CptK Fokus auf geöffnetes Zweit-Fenster setzen und Eingaben außerhalb blocken AWT, Swing, JavaFX & SWT 2
Neumi5694 Swing Card-Layout, Fokus AWT, Swing, JavaFX & SWT 2
M JavaFX Absoluter Fokus während drag Event AWT, Swing, JavaFX & SWT 10
P Fokus auf Zelle in JTable AWT, Swing, JavaFX & SWT 1
C SWT MenuBar & MenuItems Fokus wenn F10 unterdrücken/entfernen AWT, Swing, JavaFX & SWT 9
1 Swing Bestimme ob ein Subelement eines panel den Fokus verloren hat AWT, Swing, JavaFX & SWT 2
B Swing Fokus auf JPanel setzen AWT, Swing, JavaFX & SWT 2
J Swing Fokus JInternalFrame fehlerhaft AWT, Swing, JavaFX & SWT 4
B Fokus markierung entfernen AWT, Swing, JavaFX & SWT 2
A Vordergrund und Fokus setzten oder Modales Einabefeld AWT, Swing, JavaFX & SWT 28
G SWT Fokus auf MsgBox setzen AWT, Swing, JavaFX & SWT 3
M Fokus für KeyListener AWT, Swing, JavaFX & SWT 9
A Fokus wieder in ein JTextField setzen AWT, Swing, JavaFX & SWT 4
N Filternde Combobox in JTable verliert Fokus nach erster Eingabe AWT, Swing, JavaFX & SWT 2
J Swing Wie Fokus richtig setzen? AWT, Swing, JavaFX & SWT 7
T Swing Fokus AWT, Swing, JavaFX & SWT 2
I Swing Wie bekomme ich den Fokus für einen JPanel AWT, Swing, JavaFX & SWT 5
H Swing Problem mit FocusCycleRoot, der FocusTraversalPolicy und dem Fokus AWT, Swing, JavaFX & SWT 2
G Problem beim setzen des Fokus AWT, Swing, JavaFX & SWT 4
E Swing Mit rechter Maustaste Fokus in JList setzen?! AWT, Swing, JavaFX & SWT 3
F Rechte Maustaste auf TreeNode soll den Fokus auf diese setzen AWT, Swing, JavaFX & SWT 6
agent47 Swing auf Schnelltaste ohne Fokus hören AWT, Swing, JavaFX & SWT 2
M JSpinner als TableCellEditor; buttons nur bei fokus sichtbar AWT, Swing, JavaFX & SWT 14
Z Fokus auf Eingabefeld bei showMessageDialog setzen AWT, Swing, JavaFX & SWT 3
N Herkunft des Fokus erkennbar (via Klick oder Tab-Steuerung)? AWT, Swing, JavaFX & SWT 4
F Panel kann nicht Fokus erhalten AWT, Swing, JavaFX & SWT 2
N Textfeld füllen sobald es den Fokus verliert AWT, Swing, JavaFX & SWT 2
D JTable, Model, Fokus AWT, Swing, JavaFX & SWT 3
multiholle AWT Hotkey ohne Fokus AWT, Swing, JavaFX & SWT 6
W JTextArea/TextArea kriegt keinen Fokus AWT, Swing, JavaFX & SWT 6
T Fokus auf CB in Table mit beliebiger Taste AWT, Swing, JavaFX & SWT 12
G JOptionPane.showInputDialog(): Texteingabe und Fokus AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben