等待用户输入的 TextField
TextField waiting for a user input
我得到了一个 JTextfield 和一个 GetText 方法,以及一个数组来存储记录在 Jtextfield 上的数字。
JTextField tf1 = new JTextField();
frame.add(tf1);
String tfone = tf1.getText();
int one = Integer.parseInt(tfone);
int[][] array = new int[4][5];
array[0][0] = one;
array[0][1] = otherValues...
这里的问题是,该代码执行所有操作,因此无需等待用户输入到 JtextField 中。我怎样才能让 jtextfield 等待,直到用户登录。后者执行 Integer.Parseint ?
我无法通过其他方法更改 JtextField,因为我正在使用 GUI(图形用户环境)。
您可以使用 JOptionPane
而不是 JTextField
来获取用户输入。它将显示模态表单并等待用户验证。
String tfone = JOptionPane.showInputDialog("Please enter a number");
// Now test the user input
if (tfone != null) {
int one = Integer.parseInt(tfone);
}
您可以尝试添加 Button 然后执行它 ActionListener
然后输入输入并按下按钮将加载执行所需操作的代码。
您可以使用 DocumentListener:
JTextField tf1 = new JTextField();
tf1.getDocument().addDocumentListener(DocumentListener()
{
@Override
public void changedUpdate(DocumentEvent e)
{
}
@Override
public void insertUpdate(DocumentEvent e)
{
// parse here
}
@Override
public void removeUpdate(DocumentEvent e)
{
// parse here
}
});
代码如下:
JTextField tf1 = new JTextField();
frame.add(tf1);
JButton b = new JButton();
b.setText("Solve");
b.setBounds(30, 140, 110, 30);
b.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e)
{
String tfone = tf1.getText();
int one = Integer.parseInt(tfone);
int[][] array = new int[4][5];
array[0][0] = one;
array[0][1] = otherValues...
//Here you can complete the rest of functions
});
frame.add(b);
一旦用户按下按钮,代码将结束执行。
我得到了一个 JTextfield 和一个 GetText 方法,以及一个数组来存储记录在 Jtextfield 上的数字。
JTextField tf1 = new JTextField();
frame.add(tf1);
String tfone = tf1.getText();
int one = Integer.parseInt(tfone);
int[][] array = new int[4][5];
array[0][0] = one;
array[0][1] = otherValues...
这里的问题是,该代码执行所有操作,因此无需等待用户输入到 JtextField 中。我怎样才能让 jtextfield 等待,直到用户登录。后者执行 Integer.Parseint ?
我无法通过其他方法更改 JtextField,因为我正在使用 GUI(图形用户环境)。
您可以使用 JOptionPane
而不是 JTextField
来获取用户输入。它将显示模态表单并等待用户验证。
String tfone = JOptionPane.showInputDialog("Please enter a number");
// Now test the user input
if (tfone != null) {
int one = Integer.parseInt(tfone);
}
您可以尝试添加 Button 然后执行它 ActionListener
然后输入输入并按下按钮将加载执行所需操作的代码。
您可以使用 DocumentListener:
JTextField tf1 = new JTextField();
tf1.getDocument().addDocumentListener(DocumentListener()
{
@Override
public void changedUpdate(DocumentEvent e)
{
}
@Override
public void insertUpdate(DocumentEvent e)
{
// parse here
}
@Override
public void removeUpdate(DocumentEvent e)
{
// parse here
}
});
代码如下:
JTextField tf1 = new JTextField();
frame.add(tf1);
JButton b = new JButton();
b.setText("Solve");
b.setBounds(30, 140, 110, 30);
b.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e)
{
String tfone = tf1.getText();
int one = Integer.parseInt(tfone);
int[][] array = new int[4][5];
array[0][0] = one;
array[0][1] = otherValues...
//Here you can complete the rest of functions
});
frame.add(b);
一旦用户按下按钮,代码将结束执行。