ICode9

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

Java JPanel面板更新、重画

2021-12-07 09:00:16  阅读:227  来源: 互联网

标签:Java infoPanel 加载 JPanel 组件 面板 重画 Panel


问题:

      面板操作在Java程序设计中很常见,有的时候更是需要对面板进行相应的操作,比如点击按钮对面板进行更新或者重画

解决思想:

  1、移除JPanel/Panel面板的所有组件,重新构建一个JPanel/Panel面板,在新面板上重新构建所需要的组件

       缺点:重新构建一个JPanel/Panel面板后,将新面板加载到之前的面板上,造成了系统资源的浪费,另外导致后续操作的不便,还有一点值得注意,如果之前的JPanel/Panel面板其中的组件使用自动拉宽或者拉高的操作的话,加载的新面板会缩小到默认,就是说,新面板之外有很大的一块空白,这是由于新面板使用的系统默认大小(新面板中的组件总占用大小),而加载进去之后不会  自动拉宽或者拉高新面板,及时新面板中的组件设置的自动拉宽/拉高,一下附图对比

初始面板

 重新加载的面板

 解决方式:

1、重新构建另外一个JPanel/Panel面板

infoPanel.removeAll();
infoPanel.add(buildPanel(component));
public static JPanel buildPanel(Component c){
  JPanel panel = new JPanel();
  /**
  * 加载组件代码(略)
  */
  return panel;
}
infoPanel.revalidate();

2、在JPanel/Panel面板上重新加载组件

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,infoPanel,加载,JPanel,组件,面板,重画,Panel
来源: https://www.cnblogs.com/wwssgg/p/15654238.html

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

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

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

ICode9版权所有