我在 Netbeans IDE 中使用“自由设计”布局(管理器)来直观地创建一个带有按钮、文本框、复选框等的表单。这很容易;看起来很棒。当时我很开心。
两个按钮正是我想要的。一个 ["Browse..."] 打开一个FileChooser
showOpenDialog
,然后用所选目录填充其中一个文本框。EXIT 按钮也有效。我喜出望外。有一个第三个按钮可以让大事发生,但我对某些事情感到困惑,所以它被搁置了。
所以我将(不可编辑/锁定的)代码复制到一个名为 GUIform.java 的文件中(这样我就可以编辑它)。表单将按上述方式显示和工作。“主”文件 (Search.java) 如下所示:
package guiform; // This line also appears in GUIform.java.
public class Search {
public static void main(String[] args) {
java.awt.EventQueue.invokeLater
(new Runnable()
{
@Override
public void run()
{
GUIform myGUI = new GUIform();
System.out.println("X");
}
}
);
}
}
该文件曾经由方法主体中的package, class, main
、GUIform
和行组成。在表单被“解雇”之前执行。有点困惑的研究让我添加了和东西,但没有任何改变。println
run
println
invokeLater
Runnable
我的问题是,“我如何main
等待用户提交表单? ”在这种情况发生之前不会发生任何好事,如果println
在表单甚至有时间显示之前完成它的事情,那么更大的计划将不会奏效,因为表单输入是必需的。
(这似乎是一个最基本的情况,但我的两篇文章总共有近 2000 页,而且大多数例子都很稀疏。)