标题:谁能帮我看看 这个问题怎么解决啊——为什么点击退出不能退出
只看楼主
elan1986
Rank: 6Rank: 6
等 级:贵宾
威 望:18
帖 子:458
专家分:407
注 册:2007-12-17
结帖率:100%
 问题点数:0 回复次数:2 
谁能帮我看看 这个问题怎么解决啊——为什么点击退出不能退出
package lch;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.KeyStroke;

public  class MenuDemo implements ActionListener,ItemListener
{
    JTextArea output;
    JScrollPane scrollpane;
    String newline="\n";
    public static JMenuItem exitItem;
    
    public JMenuBar createMenubar(){
        JMenuBar menubar;
        JMenu menu,submenu;
        JMenuItem menuItem;
        //JRadioButtonMenuItem rbMenuItem;
        
        menubar=new JMenuBar(); //定义菜单条
        
        //定义第一个菜单
        menu=new JMenu("登陆(A)");
        menu.setMnemonic(KeyEvent.VK_A);
        menubar.add(menu);
        
        //定义第一个菜单选项
        menuItem=new JMenuItem("管理员登陆(0)",KeyEvent.VK_0);
        //设置快捷建
        menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1,ActionEvent.ALT_MASK));
        //添加监听
        menuItem.addActionListener(this);
        menu.add(menuItem);
        
        //定义第二个菜单选项
        menuItem=new JMenuItem("新建管理员(B)");
        menuItem.setMnemonic(KeyEvent.VK_B);
        menuItem.addActionListener(this);
        menu.add(menuItem);
        
        menu.addSeparator();//添加分割符
        
        JMenuItem exitItem=new JMenuItem("退出(X)");
        exitItem.setMnemonic(KeyEvent.VK_X);
        exitItem.addActionListener(this);
        menu.add(exitItem);
        
        menu=new JMenu("功能(N)");
        menu.setMnemonic(KeyEvent.VK_N);
        menubar.add(menu);
        
        
        submenu=new JMenu("查询");
        //定义第一个子菜单
        menuItem=new JMenuItem("读者信息");
        menuItem.addActionListener(this);
        submenu.add(menuItem);
        menu.add(submenu);
    
        menuItem=new JMenuItem("图书信息");
        menuItem.addActionListener(this);
        submenu.add(menuItem);
        menu.add(submenu);
        
        menu.addSeparator();
        

        submenu=new JMenu("添加");
        menuItem=new JMenuItem("添加读者信息");
        menuItem.addActionListener(this);
        submenu.add(menuItem);
        menu.add(submenu);
        menuItem=new JMenuItem("添加图书信息");
        menuItem.addActionListener(this);
        submenu.add(menuItem);
        menu.add(submenu);
        
        menu.addSeparator();
        
        /*menuItem=new JMenuItem("删除读者");
        menuItem.addActionListener(this);
        menu.add(menuItem);*/
        
        submenu=new JMenu("删除");
        menuItem=new JMenuItem("删除读者信息");
        menuItem.addActionListener(this);
        submenu.add(menuItem);
        menu.add(submenu);
        menuItem=new JMenuItem("删除图书信息");
        menuItem.addActionListener(this);
        submenu.add(menuItem);
        menu.add(submenu);
        menu.addSeparator();
        
        /*menuItem=new JMenuItem("更新读者");
        menuItem.addActionListener(this);
        menu.add(menuItem);*/
        
        submenu=new JMenu("更新");
        menuItem=new JMenuItem("更新读者信息");
        menuItem.addActionListener(this);
        submenu.add(menuItem);
        menu.add(submenu);
        menuItem=new JMenuItem("更新图书信息");
        menuItem.addActionListener(this);
        submenu.add(menuItem);
        menu.add(submenu);
        
        
        menu=new JMenu("工具(T)");
        menu.setMnemonic(KeyEvent.VK_T);
        menubar.add(menu);
        menuItem=new JMenuItem("借书");
        menuItem.addActionListener(this);
        menu.add(menuItem);        
        menu.addSeparator();
        menuItem=new JMenuItem("还书");
        menuItem.addActionListener(this);
        menu.add(menuItem);
        menu.addSeparator();
        menuItem=new JMenuItem("罚款");
        menuItem.addActionListener(this);
        menu.add(menuItem);
        
        
        menu=new JMenu("读者留言(Q)");
        submenu.setMnemonic(KeyEvent.VK_Q);
        menubar.add(menu);
        menuItem=new JMenuItem("读者留言");
        menuItem.addActionListener(this);
        menu.add(menuItem);
        
        menu=new JMenu("关于(H)");
        submenu.setMnemonic(KeyEvent.VK_H);
        menubar.add(menu);    
        menuItem=new JMenuItem("联系作者");
        menuItem.addActionListener(this);
        menu.add(menuItem);
        menu.addSeparator();
        menuItem=new JMenuItem("关于图书管理系统");
        menuItem.addActionListener(this);
        menu.add(menuItem);
        return menubar;
        
    }
    
    //构建面板
    public Container createContentPane(){
        JPanel contentPane=new JPanel(new BorderLayout());
        contentPane.setOpaque(true);
        //定义一个文本域
        output=new JTextArea(5,30);
        output.setEditable(false);
        scrollpane=new JScrollPane(output);
        //将文本域添加到面板中
        contentPane.add(scrollpane,BorderLayout.CENTER);
        
        return contentPane;
    }
    //构建弹出菜单
    public void createPopupMent(){
        JMenuItem menuItem;
        
        JPopupMenu popup=new JPopupMenu();
          ImageIcon openicon = createImageIcon("images/Open16.gif");
        menuItem=new JMenuItem("打开文件",openicon);
        menuItem.addActionListener(this);
        popup.add(menuItem);
        ImageIcon saveicon = createImageIcon("images/Save16.gif");
        menuItem=new JMenuItem("保存文件",saveicon);
        menuItem.addActionListener(this);
        popup.add(menuItem);
        
        //添加一个监听给文本域 响应点击右键时响应
        MouseListener popupListener=new PopupListener(popup);
        output.addMouseListener(popupListener);
    }
    


    private ImageIcon createImageIcon(String string) {
        // TODO Auto-generated method stub
        return null;
    }

    //监听普通菜单事件
    
        public void actionPerformed(ActionEvent e){
        JMenuItem source=(JMenuItem)(e.getSource());
        /*String s="监测事件"+newline
        +"事件源:"+source.getText()
        +"(选择对象"+getClassName(source)+")";
        output.append(s+newline);*/
        if(source==exitItem)
            System.exit(0);
    }  
    
    
    

    

    private String getClassName(JMenuItem source) {
        // TODO Auto-generated method stub
        return null;
    }

    public static void main(String[] args){
            JFrame.setDefaultLookAndFeelDecorated(true);
            
            //创建一个窗体
             JFrame frame = new JFrame("MenuDemo");
             frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            
             //创建菜单 并添加到面板中
             MenuDemo demo=new MenuDemo();
             frame.setJMenuBar(demo.createMenubar());
             frame.setContentPane(demo.createContentPane());
            
             //生成弹出菜单
             demo.createPopupMent();
            
             //显示窗体
             frame.setSize(450,260);
             frame.setVisible(true);
    
        }

    public void itemStateChanged(ItemEvent e) {
        // TODO Auto-generated method stub
        
    }
         }
    class PopupListener extends MouseAdapter{
        JPopupMenu popup;
        
        PopupListener(JPopupMenu popupMenu){
            popup=popupMenu;
        }
        
        public void mousePressed(MouseEvent e){
            maybeShowPopup(e);
            
        }
        


        public void mouseReleased(MouseEvent e){
            maybeShowPopup(e);
        }
         private void maybeShowPopup(MouseEvent e) {
                if (e.isPopupTrigger()) {
                    popup.show(e.getComponent(),
                               e.getX(), e.getY());
    }
         }
    }
    
    为什么我点击退出 不能退出
请求高手给点建议
搜索更多相关主题的帖子: import awt java event swing 
2008-05-13 20:44
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
得分:0 
exitItem=new JMenuItem("退出(X)");
exitItem.setMnemonic(KeyEvent.VK_X);
exitItem.addActionListener(this);
menu.add(exitItem);
2008-05-13 21:53
elan1986
Rank: 6Rank: 6
等 级:贵宾
威 望:18
帖 子:458
专家分:407
注 册:2007-12-17
得分:0 
谢谢了!
2008-05-13 23:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-214143-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.242997 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved