java - 有没有办法在类之间使用方法?

标签 java swing class oop methods

我在同一个包中有两个 .java 文件。我计划将第一个 .java 文件作为底层代码,将第二个 .java 文件作为 GUI swing 界面。

我遇到的问题是在处理项目的 GUI 部分时,我需要使用代码从 .java 文件访问多个方法。我的 .java 文件及其代码如下:

    package same;
    public class HFSim extends ApplicationTemplate
   {
       private static class AppFrame extends ApplicationTemplate.AppFrame
          {

             public myMethodIWanttoUse()
                  {
                     //code
                  }

在我的 GUI .java 中:

    package same;
    public class GUI extends JFrame
     {
       public GUI()
         {
           public void actionPerformed(ActionEvent e) 
            {
                 //this is where I want to use the method from above

有没有办法让该方法在 GUI 部分使用?或者有更好的方法来解决这个问题吗?提前致谢。

最佳答案

您的问题有多种解决方案。您应该回答的第一个问题是您需要调用的这些方法如何限定自身。

  • 它们是实用方法吗? (它们不需要对象实例即可工作)
  • 它们是否附加到对象的单个实例?
  • 您是否需要调用特定对象的方法而不仅仅是方法?

您可以:

  • 声明它们静态并调用它们,例如HFSim.AppFrame.myMethoIWanttoUse();

  • 声明包含它们的对象的静态实例,例如

    public class HFSim extends ApplicationTemplate {
      public static final AppFrame appFrame = new AppFrame();
      ...
    }    
    
    public class GUI extends JFrame {
      public GUI() {
        public void actionPerformed(ActionEvent e) {
          HFSim.appFrame.myMethodIWanttoUse();
        }
      }
    }
    
  • 将对象的实例传递给另一个对象:

    public class GUI extends JFrame {
      private final HFSim.AppFrame appFrame;
    
      public GUI(HFSim.AppFrame appFrame) { this.appFrame = appFrame; }
    
      public void actionPerformed(ActionEvent e) {
        appFrame.myMethodIWanttoUse();
      }
    }
    

关于java - 有没有办法在类之间使用方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24563505/

相关文章:

java - 为什么java导入org.apache.http包后找不到StringEntity类?

java - PostgreSQL 中的 Query 错误没有返回结果

Java 自定义按钮(不是 JButton)问题

class - 从 iPhone Storyboard转换为大小类 xcode 6

javascript - typescript 创建来自变量的类型的对象

java - Json数组不打印jsp中的值

java - Windows下的Java多显示处理-缩放显示时出错?

java - 为什么 JLabel 不显示下划线字符?

java - 将 JTextArea 中的文本读入 StringBuilder

C++ 类变量 : Initialization vs. vector 的赋值和初始化