0

私はこのコードを持っています。Eclipse は構文が正しいことを通知しますが、プログラムを実行すると次のエラーが表示されます。

スレッド「メイン」での例外 java.lang.NoSuchMethodError: main

どうしたの?

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Main extends JFrame {

    private static final long serialVersionUID = 1L;
    public void main(String[] args){
        JFrame Main = new JFrame("TEST");
        Main.setSize(600, 600);
        Main.setLocationRelativeTo(null);
        Main.setVisible(true);
        Main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//Adding JPanel     
        JPanel panel = new JPanel();
        Main.add(panel);
//JPanel settings
        panel.setLayout(null);
        panel.setBackground(Color.GREEN);
//Adding JButton
        JButton button = new JButton("Button 1");
        JButton button2 = new JButton("Button2");
        panel.add(button);
        panel.add(button2);   
//Button action
        button.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e) {
        JPanel panel = new JPanel();
        JPanel panel2 = new JPanel();
        Main.this.getContentPane().remove(panel);
        Main.this.getContentPane().add(panel2);
        Main.this.getContentPane().validate();      
    }
});

//JButton settings
        button.setBounds(70, 160, 200, 200);
        button2.setBounds(320, 160, 200, 200);  
    }
}
4

7 に答える 7

4

あなたの主な方法はではなく static、それを作るべきstaticです。これをチェックして理由を確認してください

public static void main(String [] args)
于 2013-07-22T09:20:19.783 に答える
2

あなたの主な方法はstatic

  public  static  void main(String[] args){
  ----

}

そして、その理由を見てください?? なぜ Java のメイン メソッドは static なのですか?

于 2013-07-22T09:21:51.727 に答える
1

このクラスには、次のシグネチャを持つメソッドが必要です。

public static void main(String[])
于 2013-07-22T09:20:41.043 に答える
1

メイン メソッドを静的にする必要があります。

public static void main(String[] args) {

}
于 2013-07-22T09:20:58.490 に答える
1
public static void main(String[] args)

それ以外の

public void main(String[] args)

publicメソッドが可視であり、他のタイプの他のオブジェクトから呼び出すことができることを意味します。他の選択肢としては、private、protected、package、および package-private があります。詳しくはこちらをご覧ください。

staticメソッドがそのクラスの特定のインスタンス (オブジェクト) ではなく、クラスに関連付けられていることを意味します。これは、クラスのオブジェクトを作成せずに静的メソッドを呼び出すことができることを意味します。

voidメソッドに戻り値がないことを意味します。メソッドが int を返した場合、void の代わりに int を記述します。

これら 3 つすべての組み合わせは、ほとんどのチュートリアルに含まれる main メソッドで最も一般的に見られます。

于 2013-07-22T09:21:03.333 に答える
0

アプリの起動時には、クラスのメイン メソッドを呼び出すことができるクラス インスタンスがないため、メイン メソッドは静的 (つまり、インスタンス バインドではなくクラス バインド) である必要があります。

于 2013-07-22T09:22:20.107 に答える
0

このクラスには、次のようなシグネチャを持つメソッドが必要です。

public static void main(String[])
于 2013-07-22T09:27:10.343 に答える