package Test_Gui;import java.awt.Frame;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;public class aa { public static void main(String[] args) {
new MyFrame();   
}
}
class MyFrame extends Frame{

public void MyFrame(){

setSize(300,300);
this.setLocation(300, 300);
this.addKeyListener(new MyKetMonet());
this.setVisible(true);
this.addWindowListener(new WindowAdapter(){
@SuppressWarnings("unused")
public void windowColsing(){
setVisible(false);
System.exit(0);
}
});
}
}
class MyKetMonet extends KeyAdapter{
public void KeyPressed(KeyEvent e){
int i = e.getKeyCode();
if(i==KeyEvent.VK_UP){
System.out.println("OK");
}
}
}
之后编译的时候没有错误  运行的时候报了一个
Exception in thread "main" java.lang.NoSuchMethodError: Test_Gui.MyFrame: method <init>()V not found
at Test_Gui.aa.main(aa.java:11)
错误 可是并没有给我提示啊

解决方案 »

  1.   

    public void MyFrame(){
      

  2.   

    把构造方法的返回值去掉也不行 
    还是报错Exception in thread "main" java.lang.NoSuchMethodError: Test_Gui.MyFrame: method <init>()V not found
    at Test_Gui.aa.main(aa.java:11)
      

  3.   

    楼上正解,也就是去掉void 
      

  4.   

    package Test_Gui;import java.awt.Frame;
    import java.awt.event.KeyAdapter;
    import java.awt.event.KeyEvent;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;public class aa {    public static void main(String[] args) {
            new MyFrame();
        }
    }
    class MyFrame extends Frame{    public MyFrame(){        setSize(300,300);
            this.setLocation(300, 300);
            this.addKeyListener(new MyKetMonet());
            this.setVisible(true);
            this.addWindowListener(new WindowAdapter(){
                @SuppressWarnings("unused") @Override
                public void windowClosing(WindowEvent e){
                    setVisible(false);
                    System.exit(0);
                }
            });
        }
    }
    class MyKetMonet extends KeyAdapter{
        @Override
        public void keyPressed(KeyEvent e){
            int i = e.getKeyCode();
            if(i==KeyEvent.VK_UP){
                System.out.println("OK");
            }
        }
    }
    不止一个错误,两个监听器里全都拼写错。这样编译运行
    mkdir classes
    javac -d classes aa.java
    java -cp classes Test_Gui.aa