java - 如果不接受建议,也许是使用多个 JFrame 的一个很好的理由

标签 java swing jframe

我正在开发一个 ATM 存款应用程序。几乎每个人一生中都至少使用过其中一种,因此可以肯定地说您知道我在说什么。

我目前正在做 GUI,我认为我应该使用多个 JFrame。

我的理由:

  1. 每个框架都设置为响应某些不同的条件 - 智能卡读卡器发送信号、发生超时、发生点击、机器的不同部分发送应用必须响应的各种信号并显示适当的消息
  2. 由于这是一款嵌入式设备,因此除了使用该程序之外,用户与机器操作系统交互的能力为零。我认为这搁置了美观的考虑——任务栏中的多个窗口。
  3. 全屏模式可以很好地隐藏后台发生的所有其他事情。

我不喜欢什么:

从一帧切换到另一帧时,我遇到屏幕闪烁问题。这可能与问题的一般主题无关,可能只是因为每次程序切换离开框架时我都会处理框架,而不是将它们设置为不可见。

欢迎对此主题有任何想法。

最佳答案

您应该使用单个JFrame,并为您想要显示的各种“屏幕”使用多个JPanel。要更改“屏幕”,只需从 JFrame 中删除当前显示的 JPanel 并添加新的即可。

编辑: 要进行切换,您可以使用 CardLayout 作为框架的 LayoutManager。它一次显示一个面板,并允许您在它们之间轻松切换。

关于java - 如果不接受建议,也许是使用多个 JFrame 的一个很好的理由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29341180/

相关文章:

java - 将 Map<Enum, Enum> 存储为字符串

java - 我想在android中实现文件选择器,但是当我实现它时它给出了空指针异常

java - 将元素显式添加到文档 (JAVA) 时,XML 签名未验证?

java - 在面板中添加一个复杂的图像,在一个自定义的用户界面中周围有按钮

Java TCP 分割数据包

Java Swing : List Models and Collections

java - JTextField 在使用自定义 TrueType 字体时裁剪文本。如何让它正常显示文字?

java - 无法看到 Paint() 方法中的图形内容

java - 完全自定义的 GUI(最好是 Java)

java - 如何从另一个类调用JFrame?