目录
一·出现情况
最近在给自己的另一个服务端代码写了个简单版的客户端,使用的是swing,在开发过程中遇到了一些bug
二·情况描述
我先给我的登录页面修改完成后,然后创建了一个hall的页面,大概样子如下
在房间区域,我用了一个Jlist,用过的同学都知道,想让Jlist动态的话,需要使用一个model类,所以我new了一个出来,然后给new Jlist(model),然后更改model的数据,预想就可以更改Jlist的数据,但是事与愿违,并不会对展示,而且在打断点查看时候发现数据已经是放在了model里面了,为啥会不展示
三·解决方案
我把newList(model) 变成了 jlist.setModel(model),然后去更改就可以了
四·原因解析
在开发过程中 idea自带的swing和esclipse之前的swing插件还是有很大差别的,后者可以拖动,但是idea是用的form布局,无法拖动,只能是按照格子排布,在操作难度上会提升,而且在xxx.form文件上改完布局之后,生成form代码之后 ,启动这个类的时候类的组件都无需再次实例化或者是组装,不然就会将之前在页面布局中的东西重置,因为你重新实例化了,数据自然就没了,也会导致我上面的情况,其实就是你去操作的是另一个新的对象,而不是页面上的对象数据,自然就不会展示在页面上了