在netbeans中创建新项目时,如果我选择JAVA Desktop应用程序,它会创建一些我完全不了解的代码,这是我从中学到的。
它导入软件包,例如:
org.jdesktop.application.SingleFrameApplication;
同样,main()的声明如下所示:
public static void main(String[] args) {
launch(DesktopApplication2.class, args);
}
这对我对JFrame,JPanel等的了解确实没有任何意义。
如果我尝试从头开始编写netbeans应用程序,则可以编写自己的swing应用程序,但找不到GUI编辑器。
请帮忙。这真令人沮丧。
最佳答案
您可能无意中选择了Java Desktop Application
而不是Java Application
附录:使用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);
}
});
}
}
以及在GUI编辑器中内置的
NewJPanel
(注意“Generated Code”):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
}