美文网首页程序员
34岁!100天!学会Java编程(Day13-Day15)——

34岁!100天!学会Java编程(Day13-Day15)——

作者: 魏小筠 | 来源:发表于2017-11-12 11:39 被阅读0次
34岁!100天!学会Java编程(Day13-Day15)——Swing软件开发

时代的潮流

11月9日-11日,三天转瞬即逝。这几天中国大地上激流涌动:

  • 在高层,特朗普访华,给美国带来了高达2500亿美元的签约额,让世界再次见识了中华民族买买买的大手笔;
  • 在民间,“双十一”已经变成了比春节还热闹的一个节日,当然不是单身节,而是剁手节,我和老婆也没能免俗,11日凌晨刷手机刷到手疼;
  • 在家里,我和老婆重启了造人计划,老婆8号刚从南京回来,9号据说就到了排卵日,自然得抓紧机会努力造人。

艰难的Swing

关注时代之余,我则在晚上和周末继续着我的Java打怪升级之路。
这阶段升级的目标是学会Swing编程,并且将我简陋的“CE项目V1.0”升级到Swing界面的2.0版本。
可是在看知识点和编程实践的过程才发现Swing并不好学:

  • 首先是知识点很多,窗体、面板、组件、布局、事件、控件每一项的具体知识点都有不少;
  • 其次在Eclipse上每一个页面的布局和显示效果全靠程序代码来调整,没能体现一点所见即所得的精神;
  • 然后就是在编程过程中的各种坑,尤其是窗体、面板、组件的各种来回嵌套,以及让人在风中凌乱的布局。
    Anyway,学习还是得继续,只当是编程之路上九九八十一难之一难吧,回过头来简单总结一下。

(一)知识点学习

知识点的学习是一个边学边练习的过程,这个偷不得懒,按照《Java从入门到精通》这本书梳理的知识点如下:


Swing知识点

(二)交互界面设计

在网上找了一个专门做用户界面设计的软件叫做Axure,进行了用户交互界面如下:


Axure用户界面设计

(三)代码实现

嗯,终于到了最难的一步,周六在家憋了一天,终于能够用Java代码来实现上面这个用户界面设计,先上图:


CE项目V2.0

总结几点经验:

  1. 代码的分层设计与组装。用户界面设计完之后,不光要对界面按组件进行分解,还一定要将组件按层次结构进行分解,然后在代码中按层次结构逐级嵌套,否则组件一多,就很容易凌乱。后面有时间我再上个组件层次结构图,这块说多了都是血泪啊。
  2. 图片的读取和表现。为了在首页的其中一个JPanel上插入一张图片,先是用书上的方法不好使,然后上网搜了很多办法,郁闷了很久,终于找到一个靠谱的方法,就是一个ImageIO.read(file)+(Graphics)g.drawImage就能搞定,所以方法还是越简单越靠谱,其他很多复杂的方法实际上都不怎么好用。
  3. 用户界面的重绘。在点击“登录/注册”等按钮后,需要将当前页面上加载的JTabbedPane拿下,换上一个JPanel,此后需要使用repaint对整个窗体进行重绘,才能表达出来。下面的“发现”页面由于就在选项卡上,所以不存在这个问题。
  4. 事件的设置。事件的类型有很多种,在这个程序中我只是简单使用了ActionListener和ChangeListener,其他的事件后面有机会再进一步摸索。需要注意的是事件都是接口,在添加事件的时候,需要编写一个内部类来实现事件对应的具体操作。另外,一个事件设置一次就可以重复使用,只有remove之后才会失效。
  5. 数据交互。这块是用户界面实现后程序的重点,由于时间不足,我只是简单使用了setText和getText命令来进行简单的数据交互,更复杂的交互方式后面再进一步摸索。
    大致总结就到这里,下一阶段将进入“CE项目V3.0”开发阶段,将要用上我等待已久的数据库软件Mysql了,终于可以抛弃呆板的txt文档了。

相关文章

  • 34岁!100天!学会Java编程(Day13-Day15)——

    时代的潮流 11月9日-11日,三天转瞬即逝。这几天中国大地上激流涌动: 在高层,特朗普访华,给美国带来了高达25...

  • Java编程

    先学会用Java编程序,在来学习Eclipse的用法。

  • Java编程入门

    Java编程入门(词汇表) Java编程入门:前言 Java编程入门:第1章 思考的风景 Java编程入门(1.1...

  • Java并发编程:Lock Java并发编程:synchronized

  • Java网络编程(第四版) PDF 超清版

    《Java网络编程(第四版)》是一本关于Java编程相关的电子书资源,介绍了关于Java、网络编程、Java编程方...

  • 有追求的程序员书单

    Java经典进阶书籍 Effective Java Java编程思想 Java并发编程实战 Java核心技术卷一 ...

  • 阶段 1:Java语言基础

    一. Java 编程入门 二. Java面向对象编程 三. Java语言高级特性

  • 100天学会Java编程

    能成为一个开发者,一直以来是在我看来很酷的事情. 想想自己敲下的代码,控制计算机和成千上万的人交流,很有一种成就感...

  • 天然气缴费和编程第一天

    首先说编程,今天学会了java的jdk的安装,也成功安装了。测试了环境,可以用cmd里输入Java进行测试是否安装...

  • Java虚拟机—对象的内存布局和访问定位

    前言: Java是一门面向「对象」的语言,学Java就要学会面向「对象」编程?。对象的创建在语言层面很简单,new...

网友评论

    本文标题:34岁!100天!学会Java编程(Day13-Day15)——

    本文链接:https://www.haomeiwen.com/subject/mzynmxtx.html