主要的gui和newjdialog混淆了netbeans

时间:2014-03-21 09:05:00

标签: java swing netbeans jframe matisse

我已经通过创建新项目在Netbeans上创建了新的java应用程序,并创建了java包。这完全没问题!当我添加新的JFrame时,它创建并自动MAIN METHOD,在我完成Matisse之后我的意思是添加一些gui组件,我想添加JDialog,我继续包右键并创建JDialog Form也创建了MAIN METHOD所以自己。因此两个MAINS混合起来。这让我一直很困惑。我的目标是创建名为new的JMenuItem,当我点击它时,我希望我的JDialog出现,类似于项目创建对话框。请帮忙 !在这些情况下如何组合到不同的组件?

此致

1 个答案:

答案 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) {

    }
}

  

“在这些情况下如何组合不同的组件?”

甚至意味着什么


旁注

  • 我建议您在浏览GUI Builder工具之前先浏览Swing Tutotials并学习处理代码。