Java JPanel面板更新、重画

时间:2021-09-11 14:51:07

问题:

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

 

解决思想:

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

             缺点:重新构建一个JPanel/Panel面板后,将新面板加载到之前的面板上,造成了系统资源的浪费,另外导致后续操作的不便,还

                有一点值得注意,如果之前的JPanel/Panel面板其中的组件使用自动拉宽或者拉高的操作的话,加载的新面板会缩小到默认,就

               是说,新面板之外有很大的一块空白,这是由于新面板使用的系统默认大小(新面板中的组件总占用大小),而加载进去之后不会

                自动拉宽或者拉高新面板,及时新面板中的组件设置的自动拉宽/拉高,一下附图对比

 

初始面板

Java JPanel面板更新、重画

重新加载的面板

Java JPanel面板更新、重画

 

 

         2、移除所有组件(或者移除特定组件),抽象一个方法,把JPanel/Panel面板和需要添加或重构的组件传递过去

               优点:至始至终都只有一个面板,不管你点击多少次,方便操作之余,也不会出现重新构建够面板突然缩水的情况

 

 

解决方式:

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

        

 

 

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