我遇到了一个很奇怪的问题,当我把JPanel(helpInfo)放到Class Window 下的function sewWindow 时,是可以成功编译的,但当我把这段代码直接放到放到Class Window 下时,就不能编译了。代码如下:----------------------------------------------可编译版本------------------------------------------------
public class Window {
    public Window() {   
    }
    public void setWindow() {      
        JPanel helpInfo = new JPanel();
        JLabel info1 = new JLabel("按 PageUP 或 PageDown 键改变速度", JLabel.CENTER);
        helpInfo.add(info1,BorderLayout.NORTH);
    }
}
-----------------------------------------不可编译版本-----------------------------------------------------------------------
public class Window {
    public Window() {   
    }
        JPanel helpInfo = new JPanel();
        JLabel info1 = new JLabel("按 PageUP 或 PageDown 键改变速度", JLabel.CENTER);
        helpInfo.add(info1,BorderLayout.NORTH);
    public void setWindow() {      
    }
}
---------------------------------------------------------------------------------------------------------------------------------
请问这是为什么?

解决方案 »

  1.   

    public class Window {
        public Window() {   
        }
            JPanel helpInfo = new JPanel();
            JLabel info1 = new JLabel("按 PageUP 或 PageDown 键改变速度", JLabel.CENTER);
            helpInfo.add(info1,BorderLayout.NORTH);
        public void setWindow() {      
        }
    }
    红色部分的代码位置错了,这句代码,不能直接写在类中,要写在一个方法中
    在一个类里,只能放变量和方法的声明,不能直接调用一个方法;