0

わかりましたので、この質問はおそらく基本的すぎるかもしれませんが、私はグーグルで調べてみましたが、解決策 (または回避策でさえ) を掘り下げることができませんでした。これが気に入らない人がいる場合は、事前にお詫び申し上げます。

私はいくつかのボタンを持つ GUI アプリを作成しているので、もちろんそのためにはマウス イベント (ボタンの 1 つがクリックされたとき) が必要です。たとえば、次のようになります。

public class myProject extends JFrame implements MouseListener {
    public int x = 4;
    public static void main(String[] args) {
        Jframe app = new JFrame();
        app.setTitle // and all that jazz...        
        JLabel label = new JLabel();
        label.setText("Old text");
        app.add(label);

        // Then later on...
        public void mouseClicked(MouseEvent e) {
            app.setTitle("New Title");
            label.setText("New text");
            System.out.println(x);
            // "app" and "label" throw errors, cannot find symbol
            // But x is fine...?
        }
    }
}

アプリ要素を public/private インスタンス変数にしようとしましたが、何も変わらないようです。インタラクターへの参照をインスタンス変数としてコピーし、それらの参照を使用するメソッドをマウス イベントで呼び出すようにする一種の中間クラスを作成してみました (2 回目の試行は上記のコードに非常に近いものでしたが、メイン メソッドから set public 変数を参照すると、さらに多くのエラーが発生しました (静的メソッドから非静的オブジェクトを呼び出せない方法について)。

要するに、この厄介なバグとの戦いはこれまでのところ「野生のガチョウの追跡」でした. ありがとう。: )

4

2 に答える 2