gpt4 book ai didi

java - 在Java/Swing中,是否可以在用户需要时创建新的 "main"JPanel对象?

转载 作者:行者123 更新时间:2023-11-29 04:01:10 24 4
gpt4 key购买 nike

  1. 我很好奇每次用户希望从后续 JPanel 返回到该 JPanel 时创建一个新的主 JPanel 对象是否是一种好做法?

  2. 仅供引用,我的 Swing 应用程序有一个 JFrame,它的第一个对象是一个带有三个 JButton 的 mainJPanel(其中一个是 Review 按钮)。

  3. 假设用户按下“审阅”按钮。该程序在 JFrame 的内容 Pane 上调用 removeall() 并创建一个新的 reviewJpanel 对象,该对象具有一个 JTable 和一个 JButton(我们称之为 Finish Review)。

  4. 假设用户完成审阅并按下“完成审阅”按钮。该程序的意图是返回到 mainJPanel 屏幕,因此它创建了一个与上面第 2 段完全相同的新 mainJPanel 对象。

  5. 我想知道每次创建一个新的 mainJPanel 对象是否多余?但是,如果我以某种方式保留 mainJPanel,当用户按下 Finish Review 按钮时,我如何从 JFrame 中删除 reviewJPanel?

  6. 我希望这些问题对其他刚接触 Swing 的用户有用。我有几本 Swing 书籍,遗憾的是它们似乎忽略了处理“主要”JPanel 和多个后续 JPanel 以及来回切换的问题。

最佳答案

如果您一次只有一个面板,只需使用 setContentPane 更改面板。首次创建框架时,请执行 frame.setContentPane(mainJPanel);。然后,当用户单击按钮时,执行 frame.setContentPane(otherPanel);mainJPanel 将被新面板替换,当用户完成后,您可以再次使用 frame.setContentPane(mainJPanel); 将主面板放回原处。您不必浪费资源重新创建面板,而且它比使用 removeAll 并添加新面板更快、更有效。

关于java - 在Java/Swing中,是否可以在用户需要时创建新的 "main"JPanel对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3486082/

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