我调用一个创建jframe的类,并等待用户输入一些值.我遇到的问题是我需要等待这些值才能继续.所以代码就像这样简单
Jframe frame= new jframe(); //here I want the program to show the frame and then wait till it will be disposed
// I want a pause here
System.out.println(frame.getvalue);
Run Code Online (Sandbox Code Playgroud)
直到现在我唯一可以做的就是冻结框架,甚至可以完全出现.有帮助吗?请保持简单,因为我不熟悉Java.谢谢!
您可能正在寻找的是JOptionPane.这是一个阻塞例程,仅在用户输入某个值后返回,如下所示:
public class test
{
public static void main ( String args[] )
{
String input = JOptionPane.showInputDialog(null, "Thing: ",
"Enter Stuff", JOptionPane.OK_CANCEL_OPTION);
System.out.println ( "won't reach until got input");
System.out.println ( "My value: " + input );
}
}
Run Code Online (Sandbox Code Playgroud)
关于它的好处是你可以添加组件,所以你不仅限于一个输入字段,但它仍然是阻塞的.以下内容将向框架添加两个JTextField:
public class test
{
public static void main ( String args[] )
{
JTextField input_box = new JTextField(7);
JTextField input_box2 = new JTextField(7);
JComponent[] inputs = new JComponent[] {
new JLabel("Thing 1:"),
input_box,
new JLabel("Thing 2:"),
input_box2 };
int rval = JOptionPane.showConfirmDialog(null, inputs,
"Enter Stuff", JOptionPane.OK_CANCEL_OPTION);
if ( rval == 0)
{
System.out.printf ("%s and %s!", input_box.getText(),
input_box2.getText());
}
}
}
Run Code Online (Sandbox Code Playgroud)