Preciso criar um teclado numérico que ao clicar nos botões, mostre os números, eu criei e apareceu tudo certinho, porém ao clicar no botão não acontece nada, queria saber como faço isso.
package teclado;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Teclado extends JFrame{
private JPanel pn1;
private JTextField tfNumeros;
private JButton btn1;
private JButton btn2;
private JButton btn3;
private JButton btn4;
private JButton btn5;
private JButton btn6;
private JButton btn7;
private JButton btn8;
private JButton btn9;
private JButton btn10;
private JButton btn11;
private JButton btn12;
private JButton btn13;
private BorderLayout bl1;
private GridLayout gl1;
private static Teclado frame;
public Teclado(){
inicio();
eventos();
}
private void inicio(){
setTitle("Teclado de telefone");
pn1 = new JPanel();
btn1 = new JButton("0");
btn2 = new JButton("1");
btn3 = new JButton("2");
btn4 = new JButton("3");
btn5 = new JButton("4");
btn6 = new JButton("5");
btn7 = new JButton("6");
btn8 = new JButton("7");
btn9 = new JButton("8");
btn10 = new JButton("9");
btn11 = new JButton("#");
btn12 = new JButton("*");
btn13 = new JButton("Sair");
tfNumeros = new JTextField(14);
bl1 = new BorderLayout();
gl1 = new GridLayout (4,3);
this.setLayout(bl1);
this.add(tfNumeros, BorderLayout.NORTH);
this.add(pn1, BorderLayout.CENTER);
pn1.setLayout(gl1);
pn1.add(btn8);
pn1.add(btn9);
pn1.add(btn10);
pn1.add(btn5);
pn1.add(btn6);
pn1.add(btn2);
pn1.add(btn3);
pn1.add(btn4);
pn1.add(btn1);
pn1.add(btn11);
pn1.add(btn12);
pn1.add(btn13);
this.pack();
this.setVisible(true);
}
private void eventos(){
btn13.addActionListener(new ActionListener(){
public void actionPerformed (ActionEvent e){
System.exit(0);
}
});
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable(){
public void run(){
frame = new Teclado();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dimension tela= Toolkit.getDefaultToolkit().getScreenSize();
frame.setLocation((tela.width - frame.getSize().width)/2,
(tela.height - frame.getSize().height)/2);
frame.setVisible(true);
}
});
}
}