2012-11-03 57 views
1

带星号的部分是它显示的错误。任何人都可以向我解释为什么发生这种情况? 我已经有一个公开课。 如果我取下括号“()”,则下面的代码全部显示错误。 谢谢!令牌上的语法错误,'Class',无效类型

public class ButtonTester { 

/** 
* @param args 
*/ 
public static void main(String[] args) { 
// TODO Auto-generated method stub 
      new adasdad(); 
} 



//Setting up variables 
private static final int FRAME_WIDTH = 500; 
private static final int FRAME_HEIGHT = 600; 

private JButton button = new JButton ("A"); 
private JButton button2 = new JButton ("B"); 

**class ExP12_4() {** 
    //Creating a frame 
    //Creating a panel 
    ... 

    ... 

    //Display frame 
    ... 

      } 

回答

3

您必须删除括号并创建类的构造:

class ExP12_4 { 
    private JFrame frame; 
    private JPanel panel; 

    private JButton button; 
    private JButton button2; 

    public ExP12_4(){ 
     button = new JButton ("A"); 
     button2 = new JButton ("B"); 

     frame = new JFrame(); 
     panel = new JPanel(); 

     panel.add(button); 
     panel.add(button2); 
     frame.add(panel); 

     ... 
    } 
} 

看看这个tutorial关于Java类的详细信息

+0

没有支架, 的代码之后,几乎一切都变了, –

+0

OMG。这工作。非常感谢。我会。感谢您的建议。 –

+0

等等...但是然后Ènewasdasd()èdoesnèt工作。 –

0

有没有允许的括号内类定义。这些属于构造函数。 另外你需要把你的语句代码块,如构造函数或方法init

public class ExP12_4 { 

    private static final int FRAME_WIDTH = 400; 
    private static final int FRAME_HEIGHT = 300; 
    private JButton button; 
    private JButton button2; 

    public ExP12_4() { 
     JFrame frame = new JFrame(); 
     JPanel panel = new JPanel(); 

     panel.add(button); 
     panel.add(button2); 
     frame.add(panel); 

     // etc. 
    } 
} 
+0

对不起...我没有包括完整的代码...我已经有一个公开课了... –

+0

没问题。在你的'main'方法中,你应该创建一个外部类'ButtonTester'或者使'ExP12_4'成为你的外部类名,并且完全摆脱'ButtonTester'。 – Reimeus

相关问题