我创建了一个简单的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();
}
});
}
答案 0 :(得分:2)
按钮上有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();
}
});