Java 如果不接受建议,也许是使用多个JFrame的一个很好的理由
我正在开发一个存款自动取款机的应用程序。几乎每个人一生中都至少使用过一次,所以可以肯定地说,你知道我在说什么 我目前正在做GUI,我想我应该使用多个JFrame 我的理由:Java 如果不接受建议,也许是使用多个JFrame的一个很好的理由,java,swing,jframe,Java,Swing,Jframe,我正在开发一个存款自动取款机的应用程序。几乎每个人一生中都至少使用过一次,所以可以肯定地说,你知道我在说什么 我目前正在做GUI,我想我应该使用多个JFrame 我的理由: 每个帧都设置为响应特定的不同条件-智能卡读卡器发送信号,超时发生,单击发生,机器的不同部分发送应用程序必须响应的各种信号,并显示相应的消息 由于这是一个嵌入式设备,用户除了使用这一个程序外,没有能力与机器的操作系统进行交互。我认为这就把对esthethics的考虑放在了一边——任务栏中有多个窗口 Fullscrean模式很好
任何关于这个主题的想法都是受欢迎的。使用多个
JFrame
s并没有真正的优势,因为您可以使用一个JFrame,并有多个内容窗格
这应该可以防止任何无用的闪烁,并确保在同一时间只有一个“屏幕”可见。使用多个
JFrame
s并没有真正的优势,因为您可以使用一个屏幕并为其设置多个内容窗格
这将防止任何无用的闪烁,并确保在同一时间只有一个“屏幕”可见。您应该使用一个
JFrame
,并为要显示的各种“屏幕”设置多个JPanel
s。要更改“屏幕”,只需从JFrame
中删除当前显示的JPanel
,然后添加新屏幕
编辑:
要进行切换,您可以使用
CardLayout
作为机架的布局管理器。它一次显示一个面板,允许您轻松地在它们之间切换。您应该使用一个JFrame
,并为要显示的各种“屏幕”提供多个JPanel
s。要更改“屏幕”,只需从JFrame
中删除当前显示的JPanel
,然后添加新屏幕
编辑:
要进行切换,您可以使用
CardLayout
作为机架的布局管理器。它一次显示一个面板,并允许您轻松地在它们之间切换。使用多个JFrame
s并没有真正的优势,因为您可以使用一个面板并为其提供多个内容窗格。最终,如果您真的喜欢多框架设计,您可以查看JInternalFrame
和JDesktop
。您可以使用多个实例来代替CardLayout,但这种设计会让您发疯。每个框架都设置为响应某些不同的条件==JMenuItem和CardLayout(将JFrame.pack()作为每张卡的最后一行代码)同意@mKorbel。。使用如所示的。使用多个JFrame
s并没有真正的优势,因为您可以使用一个JFrame并拥有多个内容窗格。最终,如果您真的喜欢多框架设计,您可以查看JInternalFrame
和JDesktop
。您可以使用多个实例而不是CardLayout,但是这种设计会让你发疯,每一帧都被设置为响应某些不同的条件==JMenuItem和CardLayout(每一张卡的最后一行代码是JFrame.pack())都同意@mKorbel。。使用如所示的。是的,我听说过这一点,但我不认为我理解。你能提供一个更详细描述该方法的链接吗?JFrame.setContentPane()
可以用来用一个新的面板替换框架的所有内容,因此你只需要使用多个内容窗格(基本上是jpanel)而不是多个框架。@Kayaman(第2句)我对Java6/7/8 edgesYes中的这一点表示怀疑,我听说过,但我想我不明白。你能提供一个更详细描述该方法的链接吗?JFrame.setContentPane()
可以用来用一个新的面板替换框架的所有内容,因此你只需要使用多个内容窗格(基本上是jpanel)而不是多个框架。@Kayaman(第2句)我对Java6/7/8边缘表示怀疑“只需从JFrame
中删除当前显示的JPanel
并添加新的。”这正是CardLayout
为之设计的作业类型!@andrewhompson你说得对!我不记得它存在过!”只需从JFrame
中删除当前显示的JPanel
并添加新的。“这正是CardLayout
的工作类型@AndrewThompson你说得对!我不记得它的存在!