Editor GUI de Netbeans generando su propio código incomprensible

Resuelto YD8877 asked hace 14 años • 2 respuestas

Al crear un nuevo proyecto en netbeans, si selecciono la aplicación JAVA Desktop, se crea un código que NO RECONOZCO EN ABSOLUTO como lo que había aprendido en swing.

Importa paquetes como:

org.jdesktop.application.SingleFrameApplication;

Además, la declaración de main() tiene este aspecto:

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

Esto realmente no tiene ningún sentido según mis conocimientos de JFrame, JPanel, etc.

Si intento codificar una aplicación Netbeans desde cero, puedo escribir mi propia aplicación swing PERO NO PUEDO ENCONTRAR EL EDITOR GUI.

  • ¿Cómo incorporo el editor GUI al crear una aplicación Java desde cero?
  • ¿Alguien puede explicarme esta org.jdesktop.application.SingleFrameApplication y otras clases?

Por favor ayuda. Esto es realmente frustrante.

YD8877 avatar Apr 01 '10 22:04 YD8877
Aceptado

Es posible que haya seleccionado sin darse cuentaJava Desktop Application

Crea un esqueleto de una aplicación de escritorio basada en Swing Application Framework (JSR 296) . Esta plantilla proporciona una infraestructura de aplicación básica, como una barra de menú, persistencia del estado de la ventana y barra de estado. Con esta plantilla, también puede generar código para crear una interfaz GUI para una tabla de base de datos.

En vez deJava Application

Crea una nueva aplicación Java SE en un proyecto IDE estándar. También puedes generar una clase principal en el proyecto. Los proyectos estándar utilizan un script de compilación Ant generado por IDE para compilar, ejecutar y depurar su proyecto.

Anexo: Úselo File > New File > Java GUI Formspara agregar contenedores de alto nivel, por ejemplo, un adjunto JPanel, del que se puede crear una instancia desde main()el run()método.

Por ejemplo, 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);
            }
        });
    }
}

Y un NewJPaneleditor GUI integrado (nota "Código generado"):

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
 }
trashgod avatar Apr 01 '2010 15:04 trashgod

Encontrarás más información org.jdesktop.application.SingleFrameApplication aquí . Breve resumen, sin embargo: esto es parte del marco de aplicación Swing . Matisse (ahora llamado Java Swing GUI Builder) funciona, AFAIK, estrictamente con el marco de la aplicación, no con aplicaciones Swing generales. Básicamente, si estás trabajando con Swing sin formato, estás prácticamente solo.

JUST MY correct OPINION avatar Apr 01 '2010 15:04 JUST MY correct OPINION