Java Swing 组件全演示

2016-02-19 15:58 5 1 收藏

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是Java Swing 组件全演示,一起来学习了解下吧!

【 tulaoshi.com - 编程语言 】


  一 抛砖引玉

  本文指在利用一个小程序”Swing 组件大全”来引导大家学习Java这门语言,熟悉Java Swing的各个组件。并在学习过程中参考作者设计这一程序的方法和思想,最终形成自己的思维方式和学习方式。你能举一返三是作者最开心的事情。 !-- frame contents -- !-- /frame contents -- 小程序演示了Java Swing大部分组件。最后附上了全部代码及具体的注释说明。希望本文能对大家学习Java有所帮助。

  随着Java风潮席卷国内,学习Java的方法和路径越来越多。而在大量的书本前,在Java庞大的类库前大大家都有点迷失方向的感觉,是学J2EE,J2ME还是。。。。。。然而所有的这些都或多或少的离不开J2SE。万丈高楼平地起。J2SE是整个Java的基础,学好了这个对Java的各个方向都是很有利的。而学习J2SE的最初点就在界面设计,因为界面编程是你来感觉最直接的手段,是提高大家编程爱好的很好开始,因为你写完程序编译后可马上看到自己的成果。而不像后台编程做完了都感受不到效果。而好的界面也是你测试你其他程序的基础。

  界面设计!不就是拖拉操作吗?假如是VB,VC等可视化的编程,的确只是一些拖拉操作,由于Java语言的设计中所有的东西都是程序代码,在Java中假如想要设计一个好的界面,可不是简单的拖拉操作能完成的。即使使用了如JBuilder这么强大的可视化工具,你也得亲自动手写一些界面设计代码才能很好的完成你的任务。假如你能在此基础上理解Java界面设计的思想,对你学习这门语言将有莫大的帮助。

  Java界面设计主要涉及Awt,Swing两大类库,Swing是Awt的扩展和功能加强。下面我们就以Swing为基础来说说整个Java的界面设计。

  二 感受效果

  在开始之前,让我们看看这篇文章要达到的效果,有了目标和成果才有学习的爱好,起码我是这样认为和学习的。如下图所示,这就是我们设计的界面,它包括了Swing中大部分常用的组件。有些功能界面上反映不出来,大家可尝试编译源代码点南击各个部分,看看它们的响应事件。

  
  
  三 设计思想和方法

  不知道大家(一般是初学者)在看编程书籍的时候有这种体会没有:在看的过程中,似乎大部理解了,并且效率还不错,可是回头来要自己写个和书上一样的程序出来,可能不少人只有重新拿书照打的了;有些人在照书上打过了一遍,也似乎理解了。可回头来真正到用的时候,似乎又不记得了。作者本人在初学编程时就经历过很多次这种情况。

  追其原因,无外乎没有融会贯通所学的知识,编程最讲求动手二字,动手的真正意义在于写自己所想所领会的程序而不是copy现成的程序。因为只有经过自己思考,设计才能把书上的知识真正溶入自己的大脑。下面我们以”Swing 组件大全”来说说这个方法和思想。

  在看完书上介绍的Swing组件这章后,我心中对Swing大概有了个了解,只差动手了。而本人又不想照书上的例子一个个来试。于是就想到了做个程序把书上介绍的所有组件放到一个界面来,并尝试用到书上介绍的所有方法。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  砍柴不误磨刀功!在开始这前,我手画了一份设计图纸,如上面界面所示(当然没那么漂亮了)。并用简单的软件工程思想对结构进行了大概的划分。这里把整个界面划分为一个主模块和五大子模块。所有的子模块都是继续至相应的容器,主模块SwingTest既是治理模块也是主界面,继续JFrame主框架,治理本身的属性及JFrame上的其他子模块。MenuTest子模块继续至JmenuBar负责菜单的显示和事件处理。其他子模块继续至JPanel,治理放置在其上的组件的布局和显示。从子模块的名字大家也可看到他们的位置和功能。如下图所示:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

   

  在编写程序前想好结构和思路是个很好的习惯,它将会帮你大大减少工作量,提高程序的可读性和效率。

四 容器,布局治理器,嵌板

  Swing中所有的组件都是放到容器中,主要的容器包括:JFrame,JPanel,JWindow,JDialog,JPanle。JFrame是java的主框架,几乎所有的Java应用程序界面都是在主框架之中设计的。 !-- frame contents -- !-- /frame contents -- 有些容器并非一层,而由几层嵌板组成,本文将会用到其中在个:拆分嵌板(jsplitPane),内容嵌板, 页签式嵌板(TabbedPane)

  

来源:http://www.tulaoshi.com/n/20160219/1610790.html

延伸阅读
上一节: 跟我学Java Swing之游戏设计(2) 谁说编写程序不是一项艺术?那些命令与符号正像一幅工笔画,一笔一画产生出多少变幻莫测的结果。不过,光有骨架的工笔画恐怕也无法成为绝世佳作,那么,今天就让我们来为自己的作品添上最初的绚丽色彩吧。 !-- frame contents -- !-- /frame contents -- 前言 ...
谁知道通天的巴比伦塔耗费了多少沙石?又有谁知道罗马的建成经历了多少个日夜?我们惟一知道的是,没有一块块砖石的垒砌,就没有蜿蜒万里的长城;没有巨石和黏土的堆集,就没有亘古不变的金字塔。由此可见,基础知识的准备对于我们学习任何事物都至关重要,那么,就让我们从认识Swing的一些基础功能开始,启动我们建造罗马的伟大工程吧! 前...
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.tree.*; import java.io.*; import java.net.*; import java.util.*; import java.applet.*; /**  * pTitle: Applet中使用SWING/p  * pDescription: 使用SWING的JApplet实现树功能。/p  * pCopyright:...
Swing API的设计目标是强大、灵活和易用。非凡地,我们希望能让程序员们方便地建立新的Swing组件,不论是从头开始还是通过扩展我们所提供的一些组件。 出于这个目的,我们不要求Swing组件支持多线程访问。相反,我们向组件发送请求并在单一线程中执行请求。 本文讨论线程和Swing组件。目的不仅是为了帮助你以线程安全的...
作者:丑丑牛 关于Java 的 Classpath全解之一 作者 丑丑牛 java 的新入门者对classpath往往比较困惑,为何在开发环境中能运行的东东出去就不好,或在外面运行的东东挺溜的进了开发环境就死菜,烦死了! 看完俺这篇文章包您万事无忧(夸张点吧) :)呵呵 java的优点就是他是一个自动支持网络功能...

经验教程

30

收藏

14
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部