Как я могу подключить свой JButton к моему JTextField, чтобы сохранить int, который я ввел в JTextField?

Я создал простой GUI JFrame с текстовым полем и кнопкой с заданными прослушивателями действий. Но я пытаюсь связать текстовое поле с кнопкой, чтобы всякий раз, когда я вводил ряд чисел в текстовое поле и нажимал кнопку, мой код сохранял ряд чисел в переменной, которую я буду использовать позже. Как мне соединить их для начала?

Я просмотрел другие сообщения stackoverflow, но не могу найти решение.

   //textfield
   id = new JTextField(7);// accepts up to 7 characters    

   //buttons
   go = new JButton("Go");
   go.setBounds(100, 150, 140, 40);
   CL = new JButton("Cheap Lock");
   CL.setBounds(100,300,140,40);

   //JLabel that shows button has stored the input
   go1 = new JLabel();
   go1.setBounds(10, 160, 200, 100);


   //button action listener
   go.addActionListener(new ActionListener() {          
            @Override
            public void actionPerformed(ActionEvent arg0) {
                    go1.setText("Student ID has been submitted.");              
            }          
          });
   //textfield actionlistener
   id.addActionListener(new ActionListener() {
         @Override
         public void actionPerformed(ActionEvent e) {
         id.getText();
         }
         });
   }

Хороший вопрос!!!

Jhonatan S. Souza 10.04.2019 19:55
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
1
21
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

У вас есть ActionListener на кнопке, и это хорошее начало. Вы должны написать некоторую логику, чтобы получить текст из JTextField, проанализировать его, как вы хотите, и сохранить его в структуре данных (например, ArrayList).

Кажется, вам не нужен JTextFieldActionListener прямо сейчас - переместите вызов id.getText() в JButtonActionListener и сохраните его в переменной.

//textfield
id = new JTextField(7);// accepts up to 7 characters    

//buttons
go = new JButton("Go");
go.setBounds(100, 150, 140, 40);
CL = new JButton("Cheap Lock");
CL.setBounds(100,300,140,40);

//JLabel that shows button has stored the input
go1 = new JLabel();
go1.setBounds(10, 160, 200, 100);


//button action listener
go.addActionListener(new ActionListener() {          
        @Override
        public void actionPerformed(ActionEvent arg0) {
                go1.setText("Student ID has been submitted.");
                String value = id.getText();
                // logic here - e.g. Integer.parseInt();            
        }          
});

Спасибо за авзер, очень помог!

Jhonatan S. Souza 10.04.2019 19:55

Если этот ответ приемлем для вас, отметьте его как принятый, чтобы другие люди с похожими проблемами могли быстро его найти.

Matt 10.04.2019 19:56

Другие вопросы по теме