Java - pasar de un JTextfield a otro con un JButton

 
Vista:
Imágen de perfil de Luis Pablo
Val: 19
Ha disminuido su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

pasar de un JTextfield a otro con un JButton

Publicado por Luis Pablo (9 intervenciones) el 05/07/2019 05:03:45
Hola amigos, estoy haciendo una calculadora solo por reto personal por así decirlo y tengo 3 JTextFields, en 2 de ellos pongo las cifras y en otro solo se pone el signo dependiendo la operación, osea, si quiero hacer suma se pone el signo + y así... como reto es que no quiero usar el teclado de la computadora para escribir las cifras y le puse un teclado numérico a base de JButtons jaja el problema es que los tengo programados algo así:

1
2
3
if (e.getSource() == numero1){
    JTextField1.setText(JTextField1.getText()+"1");
}

Y pues como podrán imaginar solo puedo escribir en el JTextfield 1 pero necesito escribir también en el segundo solo con los botones, ¿Existe alguna manera de cambiar al otro textfield?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

pasar de un JTextfield a otro con un JButton

Publicado por Kabuto (1381 intervenciones) el 05/07/2019 11:35:20
Puedes preguntar cuál de los dos JTextField tiene el "foco"

Es decir, para escribir en uno u otro campo, el usuario tendrá que hacer click en ese campo para que reciba "el foco". Así la cifra que luego teclee el usuario, lo mandas al campo que tenga el foco

1
2
3
4
5
6
if (e.getSource() == numero1){
    if (JtextField1.isFocusOwner())
        JTextField1.setText(JTextField1.getText()+"1");
    else if (JtextField2.isFocusOwner())
        JTextField2.setText(JTextField2.getText()+"1");
}

Supongo que para que funcione bien, tendrás que hacer que los botones NO sean focusables. Porque si no al pulsarlos el campo de texto pierde el foco y no se escribirá nada en ellos.

Algo así:
1
2
3
4
boton1.setFocusable(false);
boton2.setFocusable(false);
boton3.setFocusable(false);
...


Creo que es la única forma de que el programa pueda saber en que campo desea escribir el usuario
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar