0
當前我使用以下代碼向用戶顯示文本字段並從用戶檢索輸入。Java:從JTextField獲取用戶輸入
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](https://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html)會有所幫助。 – ChiefTwoPencils
考慮使用'JOptionPane.showInputDialog(..)'而不是框架。它似乎很適合這種需求。另請參閱[使用多個JFrames,好/壞實踐?](http://stackoverflow.com/q/9554636/418556) –