版主 帮帮忙啊 帮我看看这个问题 为什么我点退出不能退出 谢谢了啊
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());
}
}
}
为什么我点退出不能退出啊???