ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java:单帧与多帧

2019-06-10 01:03:31  阅读:299  来源: 互联网

标签:java user-interface swing jframe layout-manager


想想经典的安装过程,你有一个“下一步”按钮,当你点击它时,窗口的内容会发生变化.为了表示这种情况,我想到了两种可能的解决方案

– 当单击“下一步”时,销毁当前的JFrame并创建一个新的JFrame,可能会传递给他的构造函数有用的信息(例如实际窗口大小,用户在当前帧中插入的内容,……)

– 单击“下一步”时,从当前JFrame中删除所有组件,并根据需要添加新组件

第一个解决方案在OOprogramming方面看起来更好,因为我可以为不同的帧保留单独的类,我可以避免使用巨大的方法清空帧并重新填充它.然而,第一个解决方案听起来有点“脏”,我应该将大量参数传递给新帧.为了表示这种情况,我会选择第二种解决方案.

现在考虑一个带有“选项”组件的菜单:在这种情况下,我会在单击“选项”时创建一个新的JFrame,这样我就可以用选项项填充它.这是正确的解决方案吗?有没有办法让我总能知道哪一个是最好的解决方案?有没有我没想过的解决方案?

解决方法:

销毁主JFrame会很愚蠢 – 更不用说用户的震撼了.只需使用一个JFrame并更改其内容即可.

要实现安装程序向导,请在顶部使用包含一个大型JPanel的单个JFrame,并在底部使用包含“Next”,“Back”,“Cancel”按钮的较小JFrame.按下“下一个”或“后退”按钮时,将替换较大的JPanel.您可以拥有许多不同的JPanel子类,每个子类用于向导的每个“页面”.

有一个名为CardLayout的LayoutManager,它是实现这种情况的理想选择 – 它管理组件的“堆栈”,并且一次只显示其中一个组件.在JFrame中使用BorderLayout.进入中心位置放置一个带有CardLayout的JPanel.然后将向导的各个页面添加到该JPanel,以便CardLayout可以管理它们.

标签:java,user-interface,swing,jframe,layout-manager
来源: https://codeday.me/bug/20190609/1208355.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有