Pessoal,
Estou tentando adicionar uma tecla de atalho em um JPanel que foi adicionado em outro JPanel. O problema é que se eu uso o this para tentar colocar getActionMap().put e getInputMap().put ele simplesmente não funciona. Agora se eu fizer o mesmo com o JPanel principal, ele funciona. Pq isso?
.
.
.
//esse código adiciona o JPanel ControleEstoque
estoque = new ControleEstoque(org.jdesktop.application.Application.getInstance(), CommerceSysEdView.this);
estoque.setSize(new Dimension(800, 500));
mainPanel.removeAll();
mainPanel.updateUI();
mainPanel.add(estoque);
estoque.setVisible(true);
estoque.transferFocus();
estoque.revalidate();
.
.
.
//esse é o JPanel que desejo adicionar a tecla de atalho
public class ControleEstoque extends javax.swing.JPanel {
public ControleEstoque() {
initComponents();
}
public ControleEstoque(Application instance, CommerceSysEdView aThis) {
initComponents();
this.getActionMap().put("inserirEstoque", inserirEstoque);
this.getInputMap().put(KeyStroke.getKeyStroke("F2"), "inserirEstoque");
}
.
.
.
javax.swing.Action inserirEstoque = new javax.swing.AbstractAction() {
public void actionPerformed(ActionEvent e) {
System.out.println("ok:"+new Date());
}
};
.
.
.