我的java swing应用程序中有大约3个帧。如何处理这些框架的正确方法是什么?我的意思是一些模式或其他东西。现在我总是有一个表示框架的类和一个用于面板的类,它是该框架中的主要部分。现在我已将帧定义为静态变量,当我想隐藏它们时,我会调用它
classname.frameName.setVisible(false);
这是正确的解决方案吗?
答案 0 :(得分:9)
除了CardLayout
或JFrame
多个JDialog
个实例的(优秀)建议之外,还有一些其他策略可能单独或组合使用,以折叠各种内容窗格分成一个框架。
答案 1 :(得分:5)
看一下像MyDoggy这样的体面对接框架。这允许您在单个JFrame
中显示所有三个组件,但非常灵活,您可以并排查看数据,调整大小和最大化组件。
答案 2 :(得分:4)
这种设计似乎有缺陷。您应该使用适当的布局管理器,而不是拥有多个容器。在这种情况下,我建议使用CardLayout
。这样,您就拥有了一个 单个容器,其中包含多个可交换视图 。
答案 3 :(得分:2)
通过静态引用控制帧似乎是一个非常脆弱的解决方案。如果引用为空怎么办?如果在调用setVisible()
时帧未处于完成状态会怎样?
将这个逻辑分离成一个单独的类并且让帧自己注册到它或者预先构建所有内容可能是一个更好的主意。