当前位置: 首页 > 面试题库 >

Java Netbeans GUI编辑器生​​成自己无法理解的代码

孔城
2023-03-14
问题内容

在netbeans中创建新项目时,如果我选择JAVA Desktop应用程序,它将创建一些代码,这些代码我不会像在Swing中学到的那样完全无法识别。

它导入软件包,例如:

org.jdesktop.application.SingleFrameApplication;

同样,main()的声明如下所示:

public static void main(String[] args) {
            launch(DesktopApplication2.class, args);
        }

这对我对JFrame,JPanel等的了解确实没有任何意义。

如果我尝试从头开始编写netbeans应用程序,则可以编写自己的swing应用程序,但找不到GUI编辑器。

从头开始创建Java应用程序时如何带GUI编辑器?
任何人都可以向我解释org.jdesktop.application.SingleFrameApplication和其他类吗?
请帮忙。这真令人沮丧。


问题答案:

你可能无意中选择了 Java Desktop Application

基于Swing应用程序框架(JSR 296)创建桌面应用程序的框架。该模板提供了基本的应用程序基础结构,例如菜单栏,窗口状态的持久性和状态栏。使用此模板,你还可以生成代码来为数据库表创建GUI界面。

而不是 Java Application

在标准IDE项目中创建一个新的Java SE应用程序。你还可以在项目中生成一个主类。标准项目使用IDE生成的Ant构建脚本来构建,运行和调试项目。

附录:File > New File > Java GUI Forms用于添加JPanel可以从main()run()方法实例化的高级容器,例如enclosing 。

例如Main.main():

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内置的GUI编辑器(请注意“ Generated Code”):

package temp;
public class NewJPanel extends javax.swing.JPanel {

    /** Creates new form NewJPanel */
    public NewJPanel() {
        initComponents();
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();

        jLabel1.setText("Hello, world!");

        org.jdesktop.layout.GroupLayout layout =
            new org.jdesktop.layout.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(layout.createSequentialGroup()
                .add(163, 163, 163)
                .add(jLabel1)
                .addContainerGap(157, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(layout.createSequentialGroup()
                .add(113, 113, 113)
                .add(jLabel1)
                .addContainerGap(171, Short.MAX_VALUE))
        );
    }// </editor-fold>

    // Variables declaration - do not modify
    private javax.swing.JLabel jLabel1;
    // End of variables declaration
 }


 类似资料:
  • 我更新了我的应用程序,并在我的设备上测试了它。如果我在eclipse中通过run按钮测试应用程序,那么一切工作都很好,但是如果我将它导出到一个apk中并尝试安装apk,它就会失败。 没有错误代码或其他什么,只是说app还没有安装。 知道为什么会这样吗?我在我的应用程序中只做了一些改动:我从我的应用程序中移除了basegameutils库,并迁移到了没有basegameutils的新api。就是这样

  • 我使用了Jooq官方网站上的这个工具:https://github.com/etiennestuder/gradle-jooq-plugin从我的数据库生成代码。 但如果我设置

  • The Python Imaging Library uses a plug-in model which allows you to add your own decoders to the library, without any changes to the library itself. Such plug-ins usually have names like XxxImagePlugi

  • 我在IntelliJ中有一个项目,有两个注释处理器:Lombok和另一个简单的处理器。 当用Gradle编译时,无论是在IntelliJ内部还是外部,一切都很好。 当使用默认的IntelliJ设置运行时,Lombok可以工作,但其他处理器不能 当我选中设置->构建、执行、部署->编译器->批注处理器下的框时,将执行第二个处理器,但编译失败,在使用生成的代码时出现错误 当我还将sources目录更改

  • 作为概念证明,我已经使用Drools workbench创建数据对象和DRL文件。我创建了jar文件并部署到kie服务器(带有容器)。全部通过工作台UI完成。我使用C#应用程序中的KIE REST服务通过XML发布输入对象(使用批处理执行)来触发规则,并得到了我正在寻找的响应。 但是在实际场景中,我们将有自己的规则编辑器(为了便于使用)来根据现有对象的属性创建规则。一旦规则保存到我们的数据库中,我

  • 我用springMVC.It一个简单的API编写了一个API,我只是用它来测试JsonProvider。 F#代码: 使用字符串文本 作为示例是可以的。