how to take a textField value and move to an int variable?

Asked

Viewed 3,397 times

0

How do I get the value typed in a field of the type JTextField and move on to a variable, so I can do calculations later?

I tried to use getText(), but the variables being int, do not receive the content. I would like to take the numbers that are typed.

Example:

package teste;

import javax.swing.JComponent;
import javax.swing.JFrame;
import static javax.swing.JFrame.EXIT_ON_CLOSE;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class teste02  extends JFrame 
{

    private JTextField field = new JTextField();
    private JTextField field02 = new JTextField();
    private int valor1, valor2;

    public teste02()
    {
        setTitle("Exemplo"); 
        add(campos());
        setSize(450, 350);     
        setLocationRelativeTo(null);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setVisible(true);
    }

    private JComponent campos()
    {
        JPanel painelMontaTela = new JPanel();
        painelMontaTela.setLayout(null);

        JLabel label01 = new JLabel();
        label01.setText("Digite o 1º número: ");
        painelMontaTela.add(label01);
        label01.setBounds(35, 30, 200, 25);
        painelMontaTela.add(field);
        field.setBounds(150, 30, 200, 25);        

        JLabel label02 = new JLabel();
        label02.setText("Digite o 2º número: ");
        painelMontaTela.add(label02);
        label02.setBounds(35, 75, 200, 25);
        painelMontaTela.add(field02);
        field02.setBounds(150, 75, 200, 25);

        JLabel label = new JLabel();
        painelMontaTela.add(label);
        label.setBounds(80, 160, 100, 25);
        label.setText("Valors: ");

        painelMontaTela.setBounds(1, 1, 495, 340);
        return painelMontaTela;
    }       

    public void fazCalculo()
    {
        int x;
        x =  valor1 + valor2;
    }

    public static void main(String[] args)
    {
        teste02 t = new teste02();                
    }
}

1 answer

2


Just parse it to int:

try{

    valor1 =  Integer.parseInt(field.getText());
    valor2 = Integer.parseInt(field02.getText());
}catch(NumberFormatException ex) {
   //cairá aqui se a string não for um valor 
   //que possa ser convertido em inteiro
}

Browser other questions tagged

You are not signed in. Login or sign up in order to post.