JTEXTFIELD, preciso de ajuda, por favor!

3 respostas
java
C

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);
            }
        });
	}
}

3 Respostas

rcarvalhoalencar

Adiciona uma ActionPerformed ao clicar no botão para adicionar o número ao JTextField

C

Como coloco no código?, eu precisava armazenar os valores no text field também

rcarvalhoalencar
private void btn1ActionPerformed(java.awt.event.ActionEvent evt) {

tfNumeros.setText(1);

}

cria uma dessa para cada botão com o respectivo número.

Criado 20 de maio de 2020
Ultima resposta 20 de mai. de 2020
Respostas 3
Participantes 2