无法找到符号错误 - Swing

时间:2015-11-21 14:35:18

标签: java swing compiler-errors

我是Java新手,刚开始学习。我从互联网上获取代码,但每当我尝试编译它时,错误就会显示出来:

JavaTutorial.java:11: error: cannot find symbol
                new BasicSwing();
                    ^
  symbol:   class BasicSwing
  location: class JavaTutorial
1 error

这是代码:

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;

public class JavaTutorial extends JFrame{

    JPanel p = new JPanel();
    JButton b = new JButton("Hello");

    public static void main(String[] args){
        new BasicSwing();
    }

    public void BasicSwing(){
        setTitle("Basic Swing app");
        setSize(400,300);
        setResizable(true);

        p.add(b);
        add(p);


        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setVisible(true);
    }
}

谁能告诉我我做错了什么?

3 个答案:

答案 0 :(得分:0)

BasicSwing被声明为JavaTutorial类的方法

您无法实例化方法

在您的示例中,您的类可能应该命名为BasicSwing。通过这样做,你的方法BasicSwing将不再是一个方法,而是一个构造函数

答案 1 :(得分:0)

将您的代码更改为以下内容:

public static void main(String[] args){
    new JavaTutorial();
}

public JavaTutorial(){
    setTitle("Basic Swing app");
    setSize(400,300);
    setResizable(true);

    p.add(b);
    add(p);


    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setVisible(true);
}

答案 2 :(得分:0)

public class JavaTutorial extends JFrame

应改为

public class BasicSwing extends JFrame

因为您希望在其中编写构造函数,所以您希望显示此类的实例。

构造函数应更改为

public BasicSwing() // Without the void because constructors have no return type

有用的链接

相关问题