
JAVA编程中的windows问题 十万火急 !!!高手帮帮我吧!!!
importjava.awt.*;importjava.awt.event.*;publicclassmenuimplementsActionListener{class...
import java.awt.*;
import java.awt.event.*;
public class menu implements ActionListener{
class MyWindowListener implements WindowListener
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
public void windowActivated(WindowEvent e){}
public void windowClosed(WindowEvent e){}
public void windowDeactivated(WindowEvent e){}
public void windowDeiconified(WindowEvent e){}
public void windowIconified(WindowEvent e){}
public void windowOpened(WindowEvent e){}
}
public static void main(String args[])
{
Frame fr = new Frame("事件处理!");
MenuBar mb = new MenuBar();
fr.setMenuBar(mb);
Menu m1= new Menu("文件");
Menu m2= new Menu("编辑");
mb.add(m1); mb.add(m2);
MenuItem mi1= new MenuItem("打开");
MenuItem mi2= new MenuItem("保存");
MenuItem mi3= new MenuItem("关闭");
MenuItem mi4= new MenuItem("复制");
MenuItem mi5= new MenuItem("粘贴");
m1.add(mi1); m1.add(mi2); m1.add(mi3); m2.add(mi4); m2.add(mi5);
fr.setSize(200,200);
fr.setVisible(true);
mi3.addActionListener(new menu ());
fr.addWindowListener(new MyWindowListener());
}
public void actionPerformed(ActionEvent e){
if(e.getActionCommand()=="关闭");
System.exit(0);
}
}
出错信息。。。我不知道为什么这样是错的。。请高手分析分析。。
谢谢了。。
C:\java\bin>javac menu.java
menu.java:36: non-static variable this cannot be referenced from a static contex
t
fr.addWindowListener(new MyWindowListener());
^
1 error 展开
import java.awt.event.*;
public class menu implements ActionListener{
class MyWindowListener implements WindowListener
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
public void windowActivated(WindowEvent e){}
public void windowClosed(WindowEvent e){}
public void windowDeactivated(WindowEvent e){}
public void windowDeiconified(WindowEvent e){}
public void windowIconified(WindowEvent e){}
public void windowOpened(WindowEvent e){}
}
public static void main(String args[])
{
Frame fr = new Frame("事件处理!");
MenuBar mb = new MenuBar();
fr.setMenuBar(mb);
Menu m1= new Menu("文件");
Menu m2= new Menu("编辑");
mb.add(m1); mb.add(m2);
MenuItem mi1= new MenuItem("打开");
MenuItem mi2= new MenuItem("保存");
MenuItem mi3= new MenuItem("关闭");
MenuItem mi4= new MenuItem("复制");
MenuItem mi5= new MenuItem("粘贴");
m1.add(mi1); m1.add(mi2); m1.add(mi3); m2.add(mi4); m2.add(mi5);
fr.setSize(200,200);
fr.setVisible(true);
mi3.addActionListener(new menu ());
fr.addWindowListener(new MyWindowListener());
}
public void actionPerformed(ActionEvent e){
if(e.getActionCommand()=="关闭");
System.exit(0);
}
}
出错信息。。。我不知道为什么这样是错的。。请高手分析分析。。
谢谢了。。
C:\java\bin>javac menu.java
menu.java:36: non-static variable this cannot be referenced from a static contex
t
fr.addWindowListener(new MyWindowListener());
^
1 error 展开
4个回答
展开全部
class MyWindowListener implements WindowListener
这这句前面加上static就行了
修改后如下:
static class MyWindowListener implements WindowListener
这这句前面加上static就行了
修改后如下:
static class MyWindowListener implements WindowListener
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Frame fr = new Frame("事件处理!");
改成static Frame fr = new Frame("事件处理!"); 试试
改成static Frame fr = new Frame("事件处理!"); 试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
提示已经说得很清楚了一个静态的方法里面不能调用一个非静态的变量
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
新手都会出现的错误 我以前也 犯过这错误
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询