为了账号安全,请及时绑定邮箱和手机立即绑定

NetBeans GUI编辑器生成自己无法理解的代码

NetBeans GUI编辑器生成自己无法理解的代码

富国沪深 2019-06-16 15:11:52
NetBeans GUI编辑器生成自己无法理解的代码当我在NetBeans中创建一个新项目时,如果我选择Java桌面应用程序,它会创建一些我在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和其他类吗?请帮帮忙。这真是令人沮丧。
查看完整描述

2 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超13个赞

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

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

而不是Java Application

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

增编:使用File > New File > Java GUI Forms添加高级容器,如包围物JPanel,可以从main()run()方法。

例如,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编辑器(注:“生成代码”):

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
 }


查看完整回答
反对 回复 2019-06-16
  • 2 回答
  • 0 关注
  • 506 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信