【发布时间】:2015-09-04 20:01:46
【问题描述】:
目前我正在使用以下代码向用户显示文本字段并检索用户的输入。
public void getInputFromUser ()
{
String input = null;
JTextField textField = new JTextField();
textField.setColumns(50);
textField.setVisible(true);
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
frame.setSize(300, 75);
frame.add(textField);
frame.setVisible(true);
frame.requestFocus();
frame.addWindowListener(null);
textField.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
String text = textField.getText();
System.out.println(text);
}
});
这很好用。但是问题是:
• 我希望能够在用户关闭对话框时获得输入,就像用户点击回车时一样
• 我想停止程序的执行,直到用户输入内容并关闭对话框。现在,即使在用户在对话框/文本框中输入任何内容之前,程序也会继续运行。
【问题讨论】:
-
这对于大多数对话来说听起来并不直观。但是您要阻止它们的是模态类型的窗口。也许this 会有所帮助。
-
考虑使用
JOptionPane.showInputDialog(..)代替框架。它似乎很好地满足了这种需求。另请参阅The Use of Multiple JFrames, Good/Bad Practice?
标签: java swing jtextfield