在netbeans中创建一个新项目时,如果我选择JAVA Desktop应用程序,它会创建一些我根本无法识别的代码,就像我在摇摆中学到的那样。
它导入包如:
org.jdesktop.application.SingleFrameApplication;
另外,main()的声明如下:
public static void main(String[] args) {
launch(DesktopApplication2.class, args);
}
这对我对JFrame,JPanel等的了解毫无意义。
如果我尝试从头编写netbeans应用程序,我可以编写自己的swing应用程序,但我找不到GUI编辑器。
请帮忙。这真是令人沮丧。
答案 0 :(得分:24)
您可能无意中选择了Java Desktop Application
根据Swing Application Framework (JSR 296)创建桌面应用程序的框架。此模板提供基本的应用程序基础结构,例如菜单栏,窗口状态的持久性和状态栏。使用此模板,您还可以生成代码以创建数据库表的GUI界面。
而不是Java Application
在标准IDE项目中创建新的Java SE应用程序。您还可以在项目中生成主类。标准项目使用IDE生成的Ant构建脚本来构建,运行和调试项目。
附录:使用File > New File > Java GUI Forms
添加高级容器,例如一个封闭的JPanel
,可以从main()
的{{1}}方法实例化。
例如,run()
:
Main.main()
在GUI编辑器中构建package temp;
import java.awt.EventQueue;
import javax.swing.JFrame;
public class Main {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(new NewJPanel());
f.pack();
f.setVisible(true);
}
});
}
}
(注意“生成的代码”):
NewJPanel
答案 1 :(得分:1)
您会找到有关org.jdesktop.application.SingleFrameApplication
here的更多信息。但是,简要说明:这是Swing Application Framework的一部分。 Matisse(现在称为Java Swing GUI Builder)与AFAIK一起工作,严格地使用应用程序框架,而不是一般的Swing应用程序。基本上,如果你正在使用原始Swing,那么你几乎就是你自己。