如何处理菜单事件? 

解决方案 »

  1.   

    我在JBUILDER中做了个,菜单处理可是没有相应是为什么?
    package students;import java.awt.BorderLayout;
    import java.awt.Dimension;import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JMenuBar;
    import javax.swing.JMenu;
    import javax.swing.JMenuItem;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseAdapter;
    import java.awt.Toolkit;
    import com.borland.jbcl.layout.XYLayout;
    import com.borland.jbcl.layout.*;/**
     * <p>Title: </p>
     *
     * <p>Description: </p>
     *
     * <p>Copyright: Copyright (c) 2008</p>
     *
     * <p>Company: </p>
     *
     * @author not attributable
     * @version 1.0
     */
    public class Frame1 extends JFrame {
        JPanel contentPane;
        JMenuBar jMenuBar1 = new JMenuBar();
        JMenu jMenu1 = new JMenu();
        Cbjxx bjxx=new Cbjxx() ;
        CDbjxx dbjxx=new CDbjxx() ;
        JMenuItem jMenuItem1 = new JMenuItem();
        JMenuItem jMenuItem2 = new JMenuItem();
        JMenuItem jMenuItem3 = new JMenuItem();
        XYLayout xYLayout1 = new XYLayout();    public Frame1() {
            try {
                setDefaultCloseOperation(EXIT_ON_CLOSE);
                jbInit();
            } catch (Exception exception) {
                exception.printStackTrace();
            }
        }    /**
         * Component initialization.
         *
         * @throws java.lang.Exception
         */
        private void jbInit() throws Exception {
            contentPane = (JPanel) getContentPane();
            contentPane.setLayout(xYLayout1);
            this.setJMenuBar(jMenuBar1);
            setSize(new Dimension(400, 300));
            setTitle("Frame Title");
            jMenu1.setText("学生信息管理");
            jMenuItem1.setText("学生信息录入");
            jMenuItem2.setText("班级信息录入");
            jMenuItem2.addMouseListener(new Frame1_jMenuItem2_mouseAdapter(this));
            jMenuItem3.setText("学生信息查询");
            jMenuBar1.add(jMenu1);
            jMenu1.add(jMenuItem2);
            jMenu1.add(jMenuItem1);
            jMenu1.add(jMenuItem3);
             Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
             Dimension frameSize = bjxx.getSize();
             if (frameSize.height > screenSize.height) {
                 frameSize.height = screenSize.height;
             }
             if (frameSize.width > screenSize.width) {
                 frameSize.width = screenSize.width;
             }
             frameSize.height =800;
             frameSize.width =800;
             bjxx.setLocation(100 ,
                            100 );
             bjxx.setSize(800,800);
        dbjxx.setSize(100,100);
        dbjxx.setVisible(true) ;
      //bjxx.setVisible(true);    }    public void jMenuItem2_mouseClicked(MouseEvent e) {        // Center the window
            Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
            Dimension frameSize = bjxx.getSize();
            if (frameSize.height > screenSize.height) {
                frameSize.height = screenSize.height;
            }
            if (frameSize.width > screenSize.width) {
                frameSize.width = screenSize.width;
            }    //    bjxx.setLocation((screenSize.width ) ,
          //                    (screenSize.height ) );
              bjxx.setLocation(100 ,
                              100 );
              bjxx.setSize(800,800);       bjxx.setVisible(true);
        }}
    class Frame1_jMenuItem2_mouseAdapter extends MouseAdapter {
        private Frame1 adaptee;
        Frame1_jMenuItem2_mouseAdapter(Frame1 adaptee) {
            this.adaptee = adaptee;
        }    public void mouseClicked(MouseEvent e) {
            adaptee.jMenuItem2_mouseClicked(e);
        }
    }