Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 写好代码的问题。。。。?_Java - Fatal编程技术网

Java 写好代码的问题。。。。?

Java 写好代码的问题。。。。?,java,Java,我正在编写一个应用程序,在许多情况下需要直接访问大型机。如果我这样做没关系(?): 我只是觉得直接访问大型机比像引用一样传递它更容易。 谢谢 > P>您可能需要考虑实现单模式。扩展JFrame使您的AppFrame类成为一个单例类。这通常是不赞成的,但却是你想要做的事情的解决方案。大多数GUI应用程序都有MVC架构,对视图的直接访问(即您的情况下的JFrame)仅限于控制器类。如果您正在实现一个基于GUI的应用程序,您可能需要了解MVC模式 关于单例模式的信息。 如果您只有一个主类,并且应用程序

我正在编写一个应用程序,在许多情况下需要直接访问大型机。如果我这样做没关系(?):

我只是觉得直接访问大型机比像引用一样传递它更容易。
谢谢

> P>您可能需要考虑实现单模式。扩展JFrame使您的AppFrame类成为一个单例类。这通常是不赞成的,但却是你想要做的事情的解决方案。大多数GUI应用程序都有MVC架构,对视图的直接访问(即您的情况下的JFrame)仅限于控制器类。如果您正在实现一个基于GUI的应用程序,您可能需要了解MVC模式

关于单例模式的信息。

如果您只有一个主类,并且应用程序中只有一个JFrame,那么我认为您不需要Singleton模式。在这种情况下,静态变量就足够了。现在,为什么您需要访问大型机

  • 是否需要从该大型机创建子帧
  • 您是否需要显示一个消息框,并希望其父对象是大型机
  • 那门课你有逻辑吗
例如,如果大型机中有实例方法,并且需要从应用程序中的任何位置访问这些方法,则可以将这些方法设置为私有,创建公共静态方法,并使这些静态方法获取大型机实例并调用私有方法。也许您应该删除应用程序中其他位置的逻辑,并将其添加到mainFrame类中


这完全取决于您如何处理这个大型机对象。在我看来,你能进入它的地方还不错。

+1-关键是要找出为什么需要访问mainClass
public class Main {
private static JFrame mainFrame();
public static void main(String[] args) {
      javax.swing.SwingUtilities.invokeLater(new Runnable() {
              mainFrame = new JFrame(); //.... 
      });
}
 //...
public static JFrame getMainFrame() {
          return mainFrame;
}
}