Netbeans GUI editor generating its own incomprehensible code

后端 未结 2 1186
不知归路
不知归路 2020-11-22 01:16

When creating a new project in netbeans, if i select JAVA Desktop application, it creates some code which I DO NOT RECOGNISE AT ALL as what i had learnt in swing.

It

2条回答
  •  广开言路
    2020-11-22 01:48

    You may have inadvertently selected Java Desktop Application

    Creates a skeleton of a desktop application based on the Swing Application Framework (JSR 296). This template provides basic application infrastructure such as a menu bar, persisting of window state, and status bar. With this template, you can also generate code to create a GUI interface for a database table.

    Rather than Java Application

    Creates a new Java SE application in a standard IDE project. You can also generate a main class in the project. Standard projects use an IDE-generated Ant build script to build, run, and debug your project.

    Addendum: Use File > New File > Java GUI Forms to add high-level containers, e.g. an enclosing JPanel, that can be instantiated from main()'s run() method.

    For example, 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);
                }
            });
        }
    }
    

    And a NewJPanel built in the GUI editor (note "Generated Code"):

    package temp;
    public class NewJPanel extends javax.swing.JPanel {
    
        /** Creates new form NewJPanel */
        public NewJPanel() {
            initComponents();
        }
    
        @SuppressWarnings("unchecked")
        // 
        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))
            );
        }// 
    
        // Variables declaration - do not modify
        private javax.swing.JLabel jLabel1;
        // End of variables declaration
     }
    

提交回复
热议问题