1

私はswingで数日間コーディングしていますが、問題が発生しています...プログラムを実行してjframeを呼び出すメインクラスに設定されているさまざまなクラスの関数と変数があります。という名前の新しいクラスとして設定されているjframeコードのメインクラスの関数を呼び出します

public class login_sistema extends javax.swing.JFrame

メインのメソッドを静的メソッドとして配置しようとしましたが、この方法でメソッドを呼び出すことはできません...助けていただければ幸いです...

4

1 に答える 1

2

メインのメソッドを静的メソッドとして配置しようとしましたが、この方法でメソッドを呼び出すことはできません...助けていただければ幸いです...

静的メソッドは、最後に使用する必要があります。1 つのオブジェクトに別のオブジェクトのメソッドを呼び出させ、そのためには最初のオブジェクトが 2 番目のオブジェクトへの有効な参照を持っている必要があるように思えます。これは、最初のオブジェクトのコンストラクタ パラメータまたは setXXX(...) メソッドを介して渡すことで実現できます。

たとえば、最初のオブジェクトが 2 番目のオブジェクトを作成する場合、それ自体への参照をthis2 番目のオブジェクトのパラメーターに渡すことができます。例えば、

メインクラス:

public class MainClass {
  private OtherClass otherClass;

  public MainClass() {
    otherClass = new OtherClass(this);
  }
}

その他のクラス:

public class OtherClass {
  public MainClass mainClass;

  public OtherClass(MainClass mainClass) {
    this.mainClass = mainClass;
  }

  public void someOtherClassMethod() {
     // now we can call methods with the MainClass reference
     mainClass.someMainClassMethod(); 
  }
}

特定の問題の詳細については、それについて詳しく説明し、コードを表示することを検討してください。

于 2012-11-20T22:37:16.777 に答える