自己对这个软件进行了一些改良:从界面和功能上。
以下内容推荐对比我前两个版本的源码查看:( 图片若不清晰请在手机端查看)
一、设置全局字体
上面是第二版的界面。默认样式不太好看。然后我都改成宋体了~
二、设置文本框及滚动条
之前的版本,当数据超过规定的尺寸时,就需要手动拉长软件,十分不方便。于是我加上了 JScrollPane,将水平滚动条设置为隐藏,垂直滚动条设置为自动显示,即当数据超出范围才会显示滚动条。
还有一个问题:当刷新出的数据超过范围时,滚动条会自动处于最下端,虽然说大部分情况是需要这样的,但是当在浏览一些文档的时候,最好还是从头开始。
解决方案:在超过范围的部分加上这句话就好了。
滚动条在第一个GIF图中的【使用帮助】页面可以看到。
三、设置组件间距:
原因:还是样式问题…有点别扭。右图增加了间距。
解决方案:查询使用的布局文档内的方法。
四、确认框与逻辑更改
在【初始化】这个模块内,添加了确认框功能,以防用户误删数据。同时缓和了,新建数据表与删除数据之间的矛盾。
原因:当用户第一次使用软件时,数据库还未建立,那么应该是建表语句。如果是用户想删除所以已有数据,那么应该是删除语句。但是他们之间的联系是,新建表内是没有数据的,删除所有数据后的表内也是没有数据的。执行他们的结果是一样的,没有数据的数据表。如果已存在表,那么第一个connect会报错然后退出,执行下面语句。如果未存在表,新建表之后再执行。
解决方案:去掉新建表的方法。精简代码。如下:
同时也用基本方法,将鼠标点击事件的逻辑更改了:以查找为例。
然后改成了这样: 将链接数据库模块与调用分离。
本来想让鼠标点击事件调用外部类,结果说是线程过多,于是就没有考虑了。
具体代码我均已经上传至我的 Github【someTools】项目内的【addressList】文件夹内。包含目前三版的源代码和 jar 文件。
END.
源码地址:https://github.com/evenIfAlsoGo/someTools/tree/master/addressList
领取专属 10元无门槛券
私享最新 技术干货