我已经通过创建新项目在Netbeans上创建了新的java应用程序,并创建了java包。这完全没问题!当我添加新的JFrame时,它创建并自动MAIN METHOD,在我完成Matisse之后我的意思是添加一些gui组件,我想添加JDialog,我继续包右键并创建JDialog Form也创建了MAIN METHOD所以自己。因此两个MAINS混合起来。这让我一直很困惑。我的目标是创建名为new的JMenuItem,当我点击它时,我希望我的JDialog出现,类似于项目创建对话框。请帮忙 !在这些情况下如何组合到不同的组件?
此致
答案 0 :(得分:1)
“这总是令人困惑,确实有一些例子”
我不太确定什么是如此令人困惑。您的程序应该只有一个使用main
方法的启动类。 Netbeans将在main
表单中为您创建JDialog
方法,因此只需删除main
方法即可。您需要的唯一main
方法是主JFrame
表单。
您有JDialog
表单
public class MyDialog extends javax.swing.JDialog {
public MyDialog(final Frame parent, boolean modal) {
super(parent, model);
initComponents();
}
private void initiComponent() {
...
}
// delete the auto-generated main method
}
您的JFrame表单为JMenuItem
。向JmenuItem
添加一个监听器以打开MyDialog
public class MyFrame extends javax.swing.JFrame {
private javax.swing.JMenuItem jMenuItem1;
public MyFrame() {
initComponents();
}
/* Auto-generated code */
private void initComponents() {
jMenuItem1 = new JMenuItem();
jMenuItem1.addActionListener(new java.awt.event.ActionListener(){
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem1ActionPerformed(evt);
}
});
}
/* Auto-generated method */
private jmenuItemActionPerformed(java.awt.event.ActionEvent evt) {
/* Your hand written code */
MyDialog dialog = new MyDialog(MyFrame.this, true);
}
public static void main(String[] args) {
}
}
“在这些情况下如何组合不同的组件?”
甚至意味着什么?
旁注