Adicione texto a dois campos de texto com JButtons
Se minha pergunta não foi muito específica, aqui está o que estou tentando fazer. Eu tenho uma calculadora que possui dois JTextFields, um JLabel ("Answer =") e um JTextField para a resposta.
Eu tenho uma matriz de JButtons (0 a 9) que permite ao usuário clicar neles para adicionar o número ao JTextField com o cursor ativo ... qual é o problema aqui. Só posso fazer com que um dos dois campos de texto adicione números a eles ou ambos adicionem os mesmos números um ao outr
Por exemplo, se eu clicar em um botão e oaddActionListener
está configurado para(new AddDigitsONE)
só permitirá adicionar números ao primeiro JTextField. Ele retornará ao primeiro JTextField, mesmo depois de tentar definir o cursor para o segundo JTextField e adicionar números usando os JButton
Code para adicionar a matriz de JButtons ao JPanel no JFrame
// input is my JPanel set to BorderLayout.SOUTH
for (int i = 0; i < button.length; i++)
{
text = Integer.toString(i);
button[i] = new JButton();
button[i].setText(text);
input.add(button[i]);
button[i].addActionListener(new AddDigitsONE());
}
ódigo para o meu ouvinte de ação: Primeiro JTextField
// firstNumber is my first JTextField
// command is the button pressed (0-9)
// command "<" is erasing one character at a time
private class AddDigitsONE implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String text = firstNumber.getText();
String command = ((JButton)(e.getSource())).getText();
if (command == "<")
{
firstNumber.setText(text.substring(0,text.length()-1));
}
else
firstNumber.setText(text.concat(command));
}
}
ódigo para o meu ouvinte de ação: Segundo JTextField
private class AddDigitsTWO implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String text = secondNumber.getText();
String command = ((JButton)(e.getSource())).getText();
if (command == "<")
{
secondNumber.setText(text.substring(0,text.length()-1));
}
else
secondNumber.setText(text.concat(command));
}
}
Existe uma maneira de mesclar os ouvintes de ação e diferenciar entre quais campos de texto o cursor está ativo (enquanto me permite inserir números nos dois JTextFields usando os JButtons