2

我发现了类似的问题,但对我来说仍然不清楚。

所以,我有一个主类 ProcessorCalculations(),我从中调用 MainFrame() 类。在 MainFrame 类中,用户应该选择文件夹。如何将 JFileChooser() 对象从 MainFrame() 传输到 ProcessorCalculations()?

我试图从上面的链接中实现提示:

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

但我不知道如何在不创建新对象的情况下调用processor方法。mainFrame即使我不知道我应该问谷歌的正确问题。请帮忙。

4

2 回答 2

2

如果您使用上面编写的代码,那么您将当前处理器实例传递给 MainFrame 构造函数。你对这个构造函数中的引用做了什么?您是否为此引用设置了 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()(您可以说内容存储在此属性中)。ProcessorCalculation如果此属性是私有的,则在 Mainframe 中为此属性放置 getter setter 方法(以使其可从其他类访问)现在在您编写时返回到您的类mainFrame.getFiles()(您已经在mainFrame那里创建了 object 对象)它会返回您想要的数据班级。

如果您仍然遇到问题,请询问我会做的编码解决方案。

于 2012-07-28T04:06:59.857 回答