欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

swing开发桌面软件的心理历程

程序员文章站 2024-01-18 17:57:46
...
   这段时间,搞定搜索之后,技痒之下,决定写了本地检索工具玩玩。于是捡起了swing.
其实最初是想用c#的,语法和java类似,较为简单,入门也很快,只是自己用java很久,自谓精通,轻易用一门不擅长的语言,难言明智。swing用起来也很方便,搭载皮肤后界面也能看得过去。于是大约花掉接近一周的业余时间,搞定了一个检索查询器。下载地址会在文末放出。
这一周开发到最后,最初的热情已经消失殆尽。桌面开发需要顾及的东西实在太多,不同电脑的系统,不同jdk版本,甚至很多用户的电脑配置太低以及他们用的不是管理员等等。最后发布了一个可用的测试版本时候,开发时间没有多少,大量时间用在测试和修补上。实在郁闷,尤其是为了向没有jdk的用户妥协,打包了一个jre进去,更是蛋蛋的伤心。我的程序因为调用的东西较多,所以比较臃肿,有7MB之大,可是在jre面前,真心算小。把jre打包进去的程序居然有70MB之多。就算是这样,给有的朋友使用还是报错。挫败。
    现在在研究精简jre,这不光是简单的精简,是要考虑利用反射提取class文件,希望通过这块来完善自己对java代码底层(java哪有底层呵呵)的了解,精简之后也让自己更有兴趣开发桌面小软件玩玩。
    这是八月份写的,目前swing开发已经相当娴熟,常规界面都可以实现,借助exe4j,可以编译出很好用的桌面软件,很实用。2015年1月6日
    其实jre不精简也可以,考虑到现在的网速很客观,可以把jre存放在指定位置,然后所有swing程序指向下就可以,也算方便。作为技术宅,优先应该考虑的是解决问题、提升效率,应当把时间花在开发程序上。
    swing可伸缩可插拔的开发模式:
    开发中可以引入jTablePanel,然后每项置空,再新建Panel,塞入下。比如(怎么发图?):

    实际上是这样的:
this.jPanel1.setLayout(null);
this.jPanel1.add(new QQshuoPanel());

QQshuoPanel里具体写代码,即使有变动,不会影响整个程序。

相关标签: swing