Каким образом считать данные из JTextField в переменную класса типа int?

У меня есть JFrame, на котором размещено JTextField с пустым значением, и есть переменная класса типа int без инициализации (или автоматическая инициализация её нулем).

JTextField textField = new JTextField();
textField.setColumns(6);
frame.add(textField);

Что нужно сделать, чтобы когда пользователь внесет свое значение в JTextField на открывшемся окне, оно было записано в переменную типа int, и со значением этой переменной можно было бы работать далее в программе?

Если я пытаюсь ставить запись через слушатель, то ничего в переменную не записывается (скорее всего сам слушатель не срабатывает):

textField.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                String getValue = textField.getText();
                x = Integer.parseInt(getValue); // x - переменная класса, в которую нужно записать значение введенное пользователем
            }
        });

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

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

Добавь условие при котором слушатель будет срабатывать. К примеру добавь кнопку. Например :

If(e.getSource()==button){
String getValue = textField.getText();
x = Integer.parseInt(getValue);
}
→ Ссылка
Автор решения: porosenok

с помощью кнопки можно взять значение из текстового поля.

button.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {

            //Берем значение вводимое пользователем
            String s = inputNumber.getText();
            //Присваиваем его переменной класса
             i = Integer.parseInt(s);
             //Используем - Например вставляем в другое текстовое поле
           testNumber.setText(String.valueOf(i));

        }
    });
→ Ссылка
Автор решения: Зонтик

Добавление JTextField'а в AcionListener имеет одну особенность. Слушатель будет вызван только тогда, когда пользователь нажмёт enter.

Поэтому у вас есть несколько вариантов:

  • Оставить всё как есть и попросить пользователя нажать enter (например, разместить рядом с текстовым полем JLabel). Это, пожалуй, самое ленивое и вместе с этим самое плохой способ решения ситуации. В таком случае вряд ли ваше приложение можно будет назвать "дружелюбным к пользователю". Это всё же костыль.

  • Использовать кнопку как знак того, что пользователь закончил ввод. Это уже предлагалось в других ответах.

  • Использовать DocumentListener, как предложено здесь.

→ Ссылка