Java JPanel面板更新、重画
问题:
面板操作在Java程序设计中很常见,有的时候更是需要对面板进行相应的操作,比如点击按钮对面板进行更新或者重画
解决思想:
1、移除JPanel/Panel面板的所有组件,重新构建一个JPanel/Panel面板,在新面板上重新构建所需要的组件
缺点:重新构建一个JPanel/Panel面板后,将新面板加载到之前的面板上,造成了系统资源的浪费,另外导致后续操作的不便,还有一点值得注意,如果之前的JPanel/Panel面板其中的组件使用自动拉宽或者拉高的操作的话,加载的新面板会缩小到默认,就是说,新面板之外有很大的一块空白,这是由于新面板使用的系统默认大小(新面板中的组件总占用大小),而加载进去之后不会 自动拉宽或者拉高新面板,及时新面板中的组件设置的自动拉宽/拉高,一下附图对比
初始面板
重新加载的面板
解决方式:
1、重新构建另外一个JPanel/Panel面板
1 2 3 4 5 6 7 8 9 10 | infoPanel.removeAll(); infoPanel.add(buildPanel(component)); public static JPanel buildPanel(Component c){ JPanel panel = new JPanel(); /** * 加载组件代码(略) */ return panel; } infoPanel.revalidate(); |
2、在JPanel/Panel面板上重新加载组件
1 2 3 4 5 6 7 8 9 10 | infoPanel.removeAll(); //如果只需要添加组件的话,removeAll()可以省略 reSetPanel(infoPanel,c); public static void reSetPanel(JPanel panel,Component c){ /** * panel.add(c); * 加载组件代码(略) */ } infoPanel.revalidate(); //重画方法,对infoPanel进行刷新 |
转自:(1条消息) Java JPanel面板更新、重画_Kilper的专栏-CSDN博客_java jpanel 刷新
分类:
JAVA / awt/swing
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律