所以我刚开始使用Netbeans GUI编辑器,我有一个需要在多个帧之间切换的程序,为了组织项目中的组织目的,我希望每个帧都是一个完全独立的类。我需要将什么代码放入按钮以在帧之间切换?到目前为止我唯一发现的是:
new jFrame1().dispose();
new jFrame2().setVisible(true);
但是,我无法将信息从JFrame
传递到另一个{。}。
答案 0 :(得分:0)
在它们之间传递信息可以使用Observer模式。 或者使用另一个类,并在其上创建静态字段。
答案 1 :(得分:0)
看看MVC(模型视图控制器)模式。在那里你有一个模型,一个简单的Pojo,它包含GUI上显示(查看)的数据。您可以将模型从一个框架传递到另一个框架。
只是一个想法:
要将模型从一个帧传递到另一个帧,您可以使用Multiton-Pattern创建一个包含Controller的注册表。每个控制器都持有模型,控制器负责该模型。
因此,在每个JFrame中,您都可以这样做:
ControllerRegistry.getController("ControllerName").getModel()
获得模型。
您的控制器可能如下所示:
@Controller(name = "ControllerName")
class MyController {
private MyModel model;
public MyModel getModel(){...};
}
然后,ControllerRegistry将尝试查找具有Annotation Controller的Classpath上的所有类。然后它会尝试使用注释中的名称查找CoOntroller。 ControllerRegistry.getController() - 方法是静态的,因此您可以在没有实例的情况下随处访问它。注册表还可以缓存已知的Controller,以防止在每次调用getController()时搜索它。