程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> Java Swing 組件全演示

Java Swing 組件全演示

編輯:JAVA編程入門知識

  一 拋磚引玉

  本文指在利用一個小程序”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大概有了個了解,只差動手了。而本人又不想照書上的例子一個個來試。於是就想到了做個程序把書上介紹的所有組件放到一個界面來,並嘗試用到書上介紹的所有方法。

  砍柴不誤磨刀功!在開始這前,我手畫了一份設計圖紙,如上面界面所示(當然沒那麼漂亮了)。並用簡單的軟件工程思想對結構進行了大概的劃分。這裡把整個界面劃分為一個主模塊和五大子模塊。所有的子模塊都是繼續至相應的容器,主模塊SwingTest既是治理模塊也是主界面,繼續JFrame主框架,治理本身的屬性及JFrame上的其他子模塊。MenuTest子模塊繼續至JmenuBar負責菜單的顯示和事件處理。其他子模塊繼續至JPanel,治理放置在其上的組件的布局和顯示。從子模塊的名字大家也可看到他們的位置和功能。如下圖所示:

   

  在編寫程序前想好結構和思路是個很好的習慣,它將會幫你大大減少工作量,提高程序的可讀性和效率。

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

  Swing中所有的組件都是放到容器中,主要的容器包括:JFrame,JPanel,JWindow,JDialog,JPanle。JFrame是java的主框架,幾乎所有的Java應用程序界面都是在主框架之中設計的。 <!-- frame contents --> <!-- /frame contents --> 有些容器並非一層,而由幾層嵌板組成,本文將會用到其中在個:拆分嵌板(jsplitPane),內容嵌板, 頁簽式嵌板(TabbedPane)

  
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved