AWT 编程时 ,窗口无法关闭

zhuailhw123 2018-04-28 11:43:23
package sm;

import java.awt.CheckboxMenuItem;
import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.MenuShortcut;
import java.awt.TextArea;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class SimpleMenu {

private Frame f=new Frame("菜单测试");
private MenuBar mb=new MenuBar();
Menu file =new Menu("文件");
Menu edit=new Menu("编辑");

MenuItem newItem=new MenuItem("新建");
MenuItem saveItem=new MenuItem("保存");
MenuItem exitItem=new MenuItem("退出",new MenuShortcut(KeyEvent.VK_X));

CheckboxMenuItem autoWrap=new CheckboxMenuItem("自动换行");
MenuItem copyItem=new MenuItem("复制");
MenuItem pasteItem =new MenuItem("黏贴");
Menu format=new Menu("格式");
MenuItem commentItem=new MenuItem("注释",new MenuShortcut(KeyEvent.VK_SLASH,true));

MenuItem cancelItem=new MenuItem("取消注释");
private TextArea ta=new TextArea(6,40);
public void init()
{
ActionListener menuListener=e->{
String cmd=e.getActionCommand();
ta.append("单击:"+cmd+"菜单"+"\n");
if(cmd.equals("退出"))
System.exit(0);
};

commentItem.addActionListener(menuListener);
exitItem.addActionListener(menuListener);

file.add(newItem);
file.add(saveItem);
file.add(exitItem);

edit.add(autoWrap);
edit.addSeparator();
edit.add(copyItem);
edit.add(pasteItem);
edit.add(new MenuItem("--"));

format.add(commentItem);
format.add(cancelItem);

edit.add(format);

mb.add(file);
mb.add(edit);

f.setMenuBar(mb);

f.addWindowListener(new WindowAdapter()

{
public void WindowClosing(WindowEvent e)
{
System.out.println("用户点击退出");
System.exit(0);
}
}

);

f.add(ta);
f.pack();
f.setVisible(true);

}

public static void main(String[] args) {
new SimpleMenu().init();
}

}

我现在通过菜单里的退出 和快捷键 都可以关闭窗口,但是直接点击窗口的右上角 X 号 去无法关闭窗口,为什么呢?
在 public void WindowClosing(WindowEvent e) 代码处提示:
The method WindowClosing(WindowEvent) from the type new WindowAdapter(){} is never used locally

请问是什么原因?谢谢了
...全文
872 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
public void windowClosing(WindowEvent e) 注意一下方法的大小写。。。。。
qq_37966597 2018-05-01
  • 打赏
  • 举报
回复
试下给窗口增加个监听器
****.addWindowListener(new WindowAdapter() {
                public void windowClosing(WindowEvent e) {
                    System.exit(0);
                }
            });

62,625

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧