idea swing绝对管用的bug解决

本文讲述了作者在使用Java Swing开发客户端时遇到的问题,即JList无法动态显示更新的数据。作者发现数据已正确添加到model中但未在界面上显示。解决方案是使用`jlist.setModel(model)`而非直接初始化JList。问题源于Idea的form布局与Eclipse的差异,以及在修改布局后重新实例化组件会导致数据丢失。开发者需要注意组件对象的引用和数据更新方法的正确使用。
摘要由CSDN通过智能技术生成

目录

一·出现情况

二·情况描述

三·解决方案

四·原因解析


一·出现情况

最近在给自己的另一个服务端代码写了个简单版的客户端,使用的是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代码之后 ,启动这个类的时候类的组件都无需再次实例化或者是组装,不然就会将之前在页面布局中的东西重置,因为你重新实例化了,数据自然就没了,也会导致我上面的情况,其实就是你去操作的是另一个新的对象,而不是页面上的对象数据,自然就不会展示在页面上了

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值