Я создал простой 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();
}
});
}
У вас есть ActionListener
на кнопке, и это хорошее начало. Вы должны написать некоторую логику, чтобы получить текст из JTextField
, проанализировать его, как вы хотите, и сохранить его в структуре данных (например, ArrayList).
Кажется, вам не нужен JTextField
ActionListener
прямо сейчас - переместите вызов id.getText()
в JButton
ActionListener
и сохраните его в переменной.
//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();
}
});
Спасибо за авзер, очень помог!
Если этот ответ приемлем для вас, отметьте его как принятый, чтобы другие люди с похожими проблемами могли быстро его найти.
Хороший вопрос!!!