Netbeans GUI редактор, генерирующий собственный непонятный код

При создании нового проекта в 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-приложения с нуля?
  • Может кто-нибудь объяснить мне этот org.jdesktop.application.SingleFrameApplication и другие классы?

Пожалуйста помоги. Это действительно расстраивает.

2 ответа

Решение

Возможно, вы случайно выбрали Java Desktop Application

Создает каркас настольного приложения на основе Swing Application Framework (JSR 296). Этот шаблон предоставляет базовую инфраструктуру приложения, такую ​​как строка меню, сохранение состояния окна и строка состояния. С помощью этого шаблона вы также можете сгенерировать код для создания графического интерфейса для таблицы базы данных.

Скорее, чем Java Application

Создает новое приложение Java SE в стандартном проекте IDE. Вы также можете создать основной класс в проекте. Стандартные проекты используют сгенерированный IDE скрипт сборки Ant для сборки, запуска и отладки вашего проекта.

Приложение: Использование File > New File > Java GUI Forms добавить высокоуровневые контейнеры, например ограждающие JPanel, который может быть создан из main()"s 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 встроенный в графический редактор (примечание "Сгенерированный код"):

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
 }

Вы найдете больше о org.jdesktop.application.SingleFrameApplication здесь Краткое описание, однако: это часть инфраструктуры приложений Swing. Matisse (теперь называется Java Swing GUI Builder) работает, AFAIK, строго с каркасом приложения, а не с обычными приложениями Swing. По сути, если вы работаете с необработанным Swing, вы в значительной степени сами по себе.

Другие вопросы по тегам