gpt4 book ai didi

java - 何时使用 JFrame 或 JPanel

转载 作者:行者123 更新时间:2023-12-01 17:00:36 26 4
gpt4 key购买 nike

我是 Java GUI 编程新手,对于何时使用哪些工具有几个问题。

当我的应用程序运行时,我会出现一个 JFrame,并使用内容面板向用户显示 3 个按钮。我希望每个按钮显示不同的屏幕,但不要在单独的窗口中打开。为了实现这一目标,我当前正在处理当前的 JFrame 并使用新内容创建一个新的 JFrame。这是我的问题。

  1. 我是否应该为每次按钮单击创建一个新的 JPanel,而不是创建一个新的 JFrame?如果这个问题的答案存在意见分歧,是否有普遍接受的最佳实践?

  2. 关闭 JFrame 或 JPanel 时何时适合使用 setVisible(false) 与 .dispose()?

最佳答案

  1. 您可以使用 CardLayout 切换到完全不同的 View 组件,或者您也可以定义不同的 JPanel(保留或重新创造将基于他们互动的设计与 或 由组成)并添加和根据需要从 JFrame 中删除它们。然而 CardLayout 是为此设计的,所以我建议首先研究一下。

    创建新的 JFrame 应该会让用户感到困惑,特别是如果您不跟踪帧在显示器上的先前位置或由用户设置的自定义尺寸。我也想象会有一个当一帧消失之前会发生某种闪烁出现下一个。

  2. 设置后,您应该在 JFrame 上调用 setVisible(true)它的所有属性,并添加了您需要的所有组件会添加。正如您在方法中看到的,setVisible() 的一部分文档表明它将对齐所有组件,所以如果你调用它,然后添加组件后,你可能只会看到一些您的组件可见。

    您不应该真正需要调用 setVisible(false),或者通常情况下 dispose() 。

关于java - 何时使用 JFrame 或 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27924175/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com