Implementei esta classe mas nao estou conseguindo ouvir o evento do teclado, pois quando o usuario pressionar uma tecla o evento deveria exibir uma mensagem, o que nao esta acontecendo, alguem tem uma ideia de como resolver isso ??
public class MakeTelaCadastro extends JInternalFrame implements KeyListener
{
private JToolBar tb_BarraAcima;
private JToolBar tb_BarraAbaixo;
private JPanel p_Painel;
private JPanel p_BarraAcima;
private JPanel p_BarraAbaixo;
private JScrollPane sp_Scroll;
private JLabel l_Codigo;
public JFormattedTextField ftf_Codigo;
public JButton b_Executar;
public JButton b_Consultar;
public JButton b_Fechar;
public JButton b_Incluir;
public JButton b_Cancelar;
public JButton b_Gravar;
public JButton b_Excluir;
protected FieldMask fm;
int linha;
public MakeTelaCadastro ()
{
addKeyListener(this);
fm = new FieldMask();
p_BarraAcima = new JPanel();
p_BarraAcima.setLayout(null);
l_Codigo = new JLabel("Código :");
p_BarraAcima.add (l_Codigo);
l_Codigo.setBounds (10, 8, 60, 15);
ftf_Codigo = new JFormattedTextField(fm.formato_Codigo);
ftf_Codigo.setToolTipText("Informe o código");
ftf_Codigo.setFocusLostBehavior(JFormattedTextField.COMMIT);
p_BarraAcima.add(ftf_Codigo);
ftf_Codigo.setBounds(70, 5, 128, 20);
b_Executar = new JButton();
b_Executar.setText("Executar");
b_Executar.setToolTipText("Clique aqui para executar a consulta no campo código");
p_BarraAcima.add(b_Executar);
b_Executar.setBounds(210, 3, 130, 25);
b_Consultar = new JButton();
b_Consultar.setText("F5 - Consultar");
b_Consultar.setToolTipText("Clique aqui para exibir a tela de consulta");
p_BarraAcima.add(b_Consultar);
b_Consultar.setBounds(345, 3, 130, 25);
ButtonHandler handler = new ButtonHandler();
b_Fechar = new JButton();
b_Fechar.setText("Fechar");
b_Fechar.setToolTipText("Clique aqui para fechar a tela");
p_BarraAcima.add(b_Fechar);
b_Fechar.addActionListener(handler);
b_Fechar.setBounds(480, 3, 130, 25);
p_BarraAbaixo = new JPanel();
p_BarraAbaixo.setLayout(null);
b_Incluir = new JButton();
b_Incluir.setText("<INS> - Incluir");
b_Incluir.setToolTipText("Clique aqui para incluir um registro");
p_BarraAbaixo.add(b_Incluir);
b_Incluir.setBounds(10, 3, 130, 25);
b_Cancelar = new JButton();
b_Cancelar.setText("F3 - Cancelar");
b_Cancelar.setToolTipText("Clique aqui para cancelar a operação");
p_BarraAbaixo.add(b_Cancelar);
b_Cancelar.setBounds(145, 3, 130, 25);
b_Gravar = new JButton();
b_Gravar.setText("F2 - Gravar");
b_Gravar.setToolTipText("Clique aqui para gravar o registro");
p_BarraAbaixo.add(b_Gravar);
b_Gravar.setBounds(280, 3, 130, 25);
//b_Gravar.getInputMap().put(KeyStroke.getKeyStroke("F2"), "doSomething");
//b_Gravar.getActionMap().put("doSomething", anAction);
b_Excluir = new JButton();
b_Excluir.setText("F4 - Excluir");
b_Excluir.setToolTipText("Clique aqui para excluir o registro");
p_BarraAbaixo.add(b_Excluir);
b_Excluir.setBounds(415, 3, 130, 25);
tb_BarraAcima = new JToolBar();
tb_BarraAcima.setPreferredSize (new Dimension (10,35));
tb_BarraAcima.add(p_BarraAcima);
getContentPane().add(tb_BarraAcima, BorderLayout.NORTH );
tb_BarraAbaixo = new JToolBar();
tb_BarraAbaixo.setPreferredSize (new Dimension (10,35));
tb_BarraAbaixo.add(p_BarraAbaixo);
getContentPane().add(tb_BarraAbaixo, BorderLayout.SOUTH );
p_Painel = new JPanel();
p_Painel.setLayout (new GridBagLayout());
sp_Scroll = new JScrollPane();
sp_Scroll.setAutoscrolls(true);
sp_Scroll.setViewportView (p_Painel);
getContentPane().add (sp_Scroll, BorderLayout.CENTER);
setClosable (true);
setResizable (true);
setMaximizable(true);
setIconifiable(true);
linha = 0;
}
public void keyPressed (KeyEvent e)
{
JOptionPane.showMessageDialog (null, "Teste", "Aviso", JOptionPane.ERROR_MESSAGE);
}
public void keyReleased (KeyEvent e)
{
}
public void keyTyped (KeyEvent e)
{
}
public void add (String label, JComponent componente)
{
GridBagConstraints cons = new GridBagConstraints();
cons.fill = GridBagConstraints.NONE;
cons.anchor = GridBagConstraints.NORTHWEST;
cons.insets = new Insets (4,4,4,4);
cons.gridy = linha++;
cons.weightx = 0;
cons.gridwidth = 1;
p_Painel.add (new JLabel(label), cons);
cons.fill = GridBagConstraints.BOTH;
cons.weightx = 1;
cons.gridwidth = GridBagConstraints.REMAINDER;
p_Painel.add(componente, cons);
}
public void add (String label, JScrollPane componente)
{
GridBagConstraints cons = new GridBagConstraints();
cons.fill = GridBagConstraints.NONE;
cons.anchor = GridBagConstraints.NORTHWEST;
cons.insets = new Insets (4,4,4,4);
cons.weighty = 1;
cons.gridheight = GridBagConstraints.REMAINDER;
cons.gridy = linha++;
cons.weightx = 0;
cons.gridwidth = 1;
p_Painel.add (new JLabel(label), cons);
cons.fill = GridBagConstraints.BOTH;
cons.weightx = 1;
cons.gridwidth = GridBagConstraints.REMAINDER;
p_Painel.add(componente, cons);
}
public void add (String label, JComponent componente, String label2,
JComponent component2)
{
GridBagConstraints cons = new GridBagConstraints();
cons.fill = GridBagConstraints.NONE;
cons.insets = new Insets (4,4,4,4);
cons.anchor = GridBagConstraints.NORTHWEST;
cons.gridy = linha++;
cons.weightx = 0;
cons.gridwidth = 1;
p_Painel.add (new JLabel(label), cons);
cons.fill = GridBagConstraints.BOTH;
cons.weightx = 1;
cons.gridwidth = 1;
p_Painel.add(componente, cons);
// ----------------------------------------------------------------------
cons.fill = GridBagConstraints.NONE;
cons.weightx = 0;
cons.gridwidth = 1;
p_Painel.add(new JLabel(label2), cons);
cons.weightx = 1;
cons.fill = GridBagConstraints.BOTH;
cons.gridwidth = GridBagConstraints.REMAINDER;
p_Painel.add(component2, cons);
}
public void add (String label, JComponent componente, JComponent component2,
JComponent component3)
{
GridBagConstraints cons = new GridBagConstraints();
cons.fill = GridBagConstraints.NONE;
cons.insets = new Insets (4,4,4,4);
cons.anchor = GridBagConstraints.NORTHWEST;
cons.gridy = linha++;
cons.weightx = 0;
cons.gridwidth = 1;
p_Painel.add (new JLabel(label), cons);
cons.fill = GridBagConstraints.BOTH;
cons.weightx = 1;
cons.gridwidth = 1;
p_Painel.add(componente, cons);
// ----------------------------------------------------------------------
cons.weightx = 1;
cons.fill = GridBagConstraints.NONE;
cons.gridwidth = 1;
p_Painel.add(component2, cons);
cons.weightx = 1;
cons.gridwidth = 1;
cons.fill = GridBagConstraints.BOTH;
p_Painel.add(component3, cons);
}
private class ButtonHandler implements ActionListener
{
public void actionPerformed (ActionEvent e)
{
if (e.getSource() instanceof JButton)
{
JButton bt = (JButton) e.getSource();
if (bt.getText().equals("Fechar"))
dispose();
}
}
}
}