Ошибка в программе на JFrame

Она принимает через три JTextField три числа и определяет по нажатию на кнопку(JButton) максимальное из них, записывая ее в четвертую JTextField.
Подскажите, в чем может быть ошибка.

public static void main(String[] args) {
    JFrame frame = new JFrame();


    frame.setLayout(new FlowLayout());

    final JTextField firstField  = new JTextField("    ");
    final JTextField secondField  = new JTextField("    ");
    final JTextField thirdField  = new JTextField("    ");
    final JButton button = new  JButton("Выполнить");
    final JTextField resultField = new JTextField("    ");

    button.addActionListener(new ActionListener () {

        @Override
        public void actionPerformed(ActionEvent e) {
            float x = Float.parseFloat(firstField.getText());
            float y = Float.parseFloat(secondField.getText());
            float z = Float.parseFloat(thirdField.getText());

            resultField.setText(Math.max(Math.max(x,y),z));


        }

    });

    frame.add(firstField);
    frame.add(secondField);
    frame.add(thirdField);
    frame.add(button);
    frame.add(resultField);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(500, 100);
    frame.setLocation(500, 500);
    frame.setTitle("Задание 2");
    frame.setVisible(true);

    }


}

Ответы (1 шт):

Автор решения: Miron

Вы используете метод класса JTextField со следующей сигнатурой:

void setText(float f);

Метода с такой сигнатурой в классе JTextField не существует. Существует же метод с этой сигнатурой:

void setText(String s);

Для того, чтобы все заработало, вам нужно добавить перевод из float в String:

resultField.setText(Float.toString(Math.max(Math.max(x,y),z)));
→ Ссылка