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

   这段时间,搞定搜索之后,技痒之下,决定写了本地检索工具玩玩。于是捡起了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里具体写代码,即使有变动,不会影响整个程序。

猜你喜欢

转载自lies-joker.iteye.com/blog/2102429