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

questionAnswers(1)

yourAnswerToTheQuestion