1

Game というクラスと、次のコードを含むボタンがあります

public Game(){
    (some code..)
    btn_start.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e)
                {
                               (some code..)
                    timer_task = new MyTask();
                               (some code..)
                }
            });
        }
}

私の問題は、MyTask が「ゲーム」タイプのオブジェクトを必要とすることです (さまざまな理由から)。actionListener メソッドがあるクラスを MyTask() に送信するにはどうすればよいですか? Javaにそのようなものはありますか?

使用してみ.thisましたが、ActionListener.

4

2 に答える 2

4

Game.this代わりに使用してみてください

thisこれは基本的に、代わりにの外部クラス参照を使用するようJavaに指示します

于 2012-09-14T22:51:13.543 に答える
1

Game作成するクラスにプライベート メソッドを用意することを検討することをお勧めしますMyTask。何かのようなもの

public void someMethod()
{
    ...
    btn_start.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e)
        {
            handleStart();
        }
    });
    ...
}

private void handleStart()
{
    (some code..)
    timer_task = new MyTask(this);
    (some code..)
}
于 2012-09-14T22:55:19.787 に答える