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, вы в значительной степени сами по себе.