2

同様の質問を見つけましたが、それでも私にはわかりません。

したがって、メインクラスProcessorCalculations()があり、そこからMainFrame()クラスを呼び出します。MainFrameクラスでは、ユーザーはフォルダーを選択する必要があります。JFileChooser()オブジェクトをMainFrame()からProcessorCalculations()に送信するにはどうすればよいですか?

上記のリンクからヒントを実装しようとしました:

   ProcessorCalculation processor = new ProcessorCalculation();
   MainFrame mainFrame = new MainFrame(processor);

しかし、新しいオブジェクトを作成せずにメソッドを呼び出すprocessor方法がわかりません。mainFrame正しい質問がわからなくても、Googleに尋ねる必要があります。助けてください。

4

2 に答える 2

2

上記のコードを使用している場合は、現在のプロセッサインスタンスをメインフレームコンストラクタに渡します。このコンストラクター内からの参照で何をしていますか?ProcessorCalculationインスタンスをこの参照に設定していますか?コンストラクターを見せてください。

MainFrameクラスは次のようになります...

public class MainFrame extends JFrame {
   // your ProcessorCalculation field  
   private ProcessorCalculation processor;

   public MainFrame(ProcessorCalculation processor) {
      // set the field with ref passed in parameter
      this.processor = processor; 

      // of course other code goes here
   }

   public void someMainFrameMethod() {
      // use the reference
      processor.someProcessorMethod();
   }

}
于 2012-07-28T03:46:22.700 に答える
2

たとえばfiles、のコンテンツが参照されるメインフレームに属性を作成しますJFileChooser()(コンテンツはこの属性に格納されていると言うことができます)。この属性がメインフレームのプライベートputgettersetterメソッドである場合(他のクラスからアクセスできるようにするため)、ProcessorCalculation書き込み時にクラスに戻ってきますmainFrame.getFiles()(すでにオブジェクトmainFrameオブジェクトを作成しています)。これで必要なデータが返されます。クラス。

それでも問題が発生する場合は、コード化された解決策を求めてください。

于 2012-07-28T04:06:59.857 に答える