0

私は2つのJavaクラスを持っています:

取締役会マネージャーと取締役会

BoardManager がメイン クラスです。内部にはボードが含まれています:

    public BoardManager(){
        Board b = new Board();
    }

    public methodToBeCalled(){}

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

ボードはユーザー インターフェイスです。ユーザーがインターフェイスのボタンを押したときに、BoardManager クラスのメソッドを呼び出したいのですが、明らかに問題があり、それを回避する方法がわかりません。

1 つの解決策は、main メソッドを Board に移動することでした。

BoardManager boardManager;

    public Board(){}

    public void buttonPressed(){
        boardManager.methodToCall();
    }

    public static void main(String[] args) {
        boardManager = new BoardManager();
    }

しかし、それは静的および非静的などに関するエラーをスローするだけです.

ソリューション?ありがとう!

4

1 に答える 1

0

これのいずれか:

class Board{
static BoardManager boardManager;

public Board(){}

public void buttonPressed(){
    boardManager.methodToCall();
}

public static void main(String[] args) {
    boardManager = new BoardManager();
}
}

またはこれ:

class Board {
BoardManager boardManager;

public Board(){ }

public void buttonPressed(){
    boardManager.methodToCall();
}

public static void main(String[] args) {
    Board b = new Board();
    b.boardManager = new BoardManager();
}
}

静的メソッド (main) から非静的フィールド (BoardManager) を呼び出すことはできません。staticキーワードの詳細を参照してください。

于 2013-05-03T05:24:09.267 に答える