import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class LastTest extends JFrame {
public LastTest(){
super( "The Last Test! " ); 
         JMenu mediaMenu = new JMenu( "媒体(M)" );
mediaMenu.setMnemonic( 'M' );
         JMenuItem picItem = new JMenuItem( "图像(P)" );
picItem.setMnemonic( 'P' );
mediaMenu.add( picItem );
picItem.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent event ){
// System.exit( 0 );
}
}
);
JMenuItem graItem = new JMenuItem( "图片(G)" );
         graItem.setMnemonic( 'G' );
         mediaMenu.add( graItem );
graItem.addActionListener(new ActionListener() {
public void actionPerformed( ActionEvent event ){
// System.exit( 0 );
}
}
);
         JMenuBar bar = new JMenuBar();       
setJMenuBar( bar );
bar.add( mediaMenu );
         setSize( 500, 300 );                  
         setLocation(200,200);
setVisible( true );
         }}
然后就是main()函数...
之后如何实现两个事件响应是分别弹出一个JDialog,关闭对话框后,主界面才可以被操作。
请教各位,谢谢了.^_^.

解决方案 »

  1.   

    再声明两个类,假设是Jdialog1和Jdialog2的话,代码如下:
    class Jdialog1 extends JDialog {
        /*加上构造器以及各种各样你需要的组件
               ......
        */     
        this.setModal(true);//这两行是实现你需要功能的关键,
        this.setVisible(true);//就是先设成模态对话框,再setVisible(true)。
    }
       Jdialog2类似,然后在你主类的事件监听器中new一下这两个类就行了。
      

  2.   

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;import javax.swing.JDialog;
    import javax.swing.JFrame;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;public class LastTest extends JFrame
    {
        
        public static void main(String[] args)
        {
            new LastTest();
        }
        
        public LastTest()
        {
            super("The Last Test! ");
            JMenu mediaMenu = new JMenu("媒体(M)");
            mediaMenu.setMnemonic('M');
            JMenuItem picItem = new JMenuItem("图像(P)");
            picItem.setMnemonic('P');
            mediaMenu.add(picItem);
            picItem.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent event)
                {
                    new JDialog(LastTest.this, true).setVisible(true);
                }
            });
            JMenuItem graItem = new JMenuItem("图片(G)");
            graItem.setMnemonic('G');
            mediaMenu.add(graItem);
            graItem.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent event)
                {
                    new JDialog(LastTest.this, true).setVisible(true);
                }
            });
            JMenuBar bar = new JMenuBar();
            setJMenuBar(bar);
            bar.add(mediaMenu);
            setSize(500, 300);
            setLocation(200, 200);
            setVisible(true);
        }
    }