-Java程序設(shè)計 第17章_第1頁
-Java程序設(shè)計 第17章_第2頁
-Java程序設(shè)計 第17章_第3頁
-Java程序設(shè)計 第17章_第4頁
-Java程序設(shè)計 第17章_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第17章Java Swing 基礎(chǔ) 17.1幾個重要的類幾個重要的類 17.2中間容器中間容器 17.3各種組件各種組件 javax.swing包為我們提供了更加豐富的、功能強(qiáng)大的組件,稱為swing組件,其中大部分組件是輕量組件,沒有同位體。swing組件的輕組件在設(shè)計上和AWT完全不同,輕組件把與顯示組件有關(guān)的許多工作和處理組件事件的工作交給相應(yīng)的UI代表來完成,這些UI代表是用Java語言編寫的類,這些類被增加到j(luò)ava的運(yùn)行環(huán)境中,因此組件的外觀不依賴平臺,不僅在不同平臺上的外觀是相同的,而且較重量組件而言有更高的性能 17.1幾個重要的類幾個重要的類 javax.swing包中有四個

2、最重要的類JApplet、JFrame、JDialog、JComponent。 JComponent類的子類都是輕組件,而JFrame、JApplet、JDialog都是重組件,即有同位體的組件,這樣窗口(JFrame)、對話框(JDialog)、小應(yīng)用程序(JApplet)可以和操作系統(tǒng)交互信息,輕組件必須在這些重量容器中繪制自己。 JComponent 類是java.awt包中容器類Container類的子類,因此所有的輕量組件也都是容器。 1 JComponent類類JComponent類是所有輕量組件的父類(就象Component類是所有重量組件的父類)。 JComonent的幾個代表

3、子類:JLable負(fù)責(zé)創(chuàng)建標(biāo)簽 JMenu負(fù)責(zé)創(chuàng)建菜單對象 JMenuItem負(fù)責(zé)創(chuàng)建菜單項對象 JPanel負(fù)責(zé)創(chuàng)建面板對象 JPasswordField負(fù)責(zé)創(chuàng)建口令文本框?qū)ο?JPopupMenu負(fù)責(zé)創(chuàng)建彈出式菜單 JProgressBar負(fù)責(zé)創(chuàng)建進(jìn)程條 JRadioButton負(fù)責(zé)創(chuàng)建單選按鈕 JScrollBar負(fù)責(zé)創(chuàng)建滾動條 JScrollPane負(fù)責(zé)創(chuàng)建滾動窗格 JSlider負(fù)責(zé)創(chuàng)建滑動條 JSplitPane負(fù)責(zé)創(chuàng)建拆分窗格 JTable負(fù)責(zé)創(chuàng)建表格 2 JFrame類類 javax.swing包中的JFrame類是java.awt包中Frame類的子類。因此JFrame類其子

4、類創(chuàng)建的對象是窗體。由于Frame是重量容器,因此JFrame類或子類創(chuàng)建的對象(窗體)也是重量容器。 3 . JApplet類類 JApplet類也是用來建立java小應(yīng)用程序用的。JApplet是Javax.swing包中的類,它還是java.applet包中的Applet類的子類,因此JApplet對象也是一個重量容器。 4 JDialog類類 JDialog 是java.awt包中Dialog類的子類。JDialog類或子類創(chuàng)建的對象是也是重量容器,該對象必須依附一個JFrame對象。 5 事件處理事件處理 重量組件的事件處理模式:授權(quán)處理模式,仍然適合于 輕組件的事件處理,即事件源、

5、監(jiān)視器和接口。事件由事件源產(chǎn)生,為了能處理相應(yīng)類型的事件,事件源必須使用相應(yīng)的方法獲得監(jiān)視器。當(dāng)事件發(fā)生時,監(jiān)視器使用接口中的方法對事件進(jìn)行處理。17.2 中間容器中間容器 我們已經(jīng)知道輕組件都是容器,但仍有一些經(jīng)常用來添加組件的輕容器,相對于底層重量容器而言,我們習(xí)慣上稱這些輕容器為中間容器。1JPanel 面板面板 我們會經(jīng)常使用JPanel創(chuàng)建一個面板,再向這個面板添加組件,然后把這個面板添加到底層容器或其他中間容器中。JPanel面板的默認(rèn)布局是FlowLayout布局。 2滾動窗口滾動窗口JScrollPane 我們可以把一個組件放到一個滾動窗口中,然后通過滾動條來觀察這些組件。例如

6、,JTextArea不自帶滾動條(這一點(diǎn)與重量組件TextArea不同),因此我們就需要把文本區(qū)放到一個滾動窗口中。例如,JScorollPane scroll=new JScorollPane(new JTextArea();3. 拆分窗口拆分窗口JSplitPane 拆分窗口就是被分成兩部分的窗口。拆分窗口有兩種類型:水平拆分和垂直拆分。水平拆分窗口用一條拆分線把窗口分成左右兩部分,左面放一個組件,右面放一個組件,拆分線可以水平移動。垂直拆分窗口用一條拆分線把窗口分成上下兩部分,上面放一個組件,下面放一個組件,拆分線可以垂直移動。 17.3 各種組件各種組件1. 按鈕按鈕(JButton)

7、 JButton 類負(fù)責(zé)創(chuàng)建按鈕對象,與重量組件按鈕類負(fù)責(zé)創(chuàng)建按鈕對象,與重量組件按鈕Button相比,相比,JBtton按鈕具有更加豐富的外觀按鈕具有更加豐富的外觀.2標(biāo)簽標(biāo)簽(JLabel) JLabel 類負(fù)責(zé)創(chuàng)建標(biāo)簽對象,與重量組件標(biāo)簽類負(fù)責(zé)創(chuàng)建標(biāo)簽對象,與重量組件標(biāo)簽Label相相比,比,JLabel標(biāo)簽具有更加豐富的外觀,例如我們可以創(chuàng)標(biāo)簽具有更加豐富的外觀,例如我們可以創(chuàng)建帶圖標(biāo)的標(biāo)簽。建帶圖標(biāo)的標(biāo)簽。3復(fù)選框復(fù)選框(JCheckBox) JCheckBox 類負(fù)責(zé)創(chuàng)建復(fù)選框?qū)ο?。與重量組件復(fù)選框類負(fù)責(zé)創(chuàng)建復(fù)選框?qū)ο?。與重量組件復(fù)選框Checkbox相比,相比,JCheckBox

8、復(fù)選框的名字不僅可以是復(fù)選框的名字不僅可以是字符串,而且它的樣子可以是一個圖標(biāo)。字符串,而且它的樣子可以是一個圖標(biāo)。 4. 單選按鈕單選按鈕(JRadioButton) 單選按鈕和復(fù)選框很類似,所不同的是:在單選按鈕和復(fù)選框很類似,所不同的是:在若干個復(fù)選框中我們可以同時選中多個,而若干個復(fù)選框中我們可以同時選中多個,而一組單選按鈕同一時刻只能有一個被選中。一組單選按鈕同一時刻只能有一個被選中。5 .下拉列表下拉列表(JComboBox) 用戶可以在下拉列表看到第一個選項和它旁用戶可以在下拉列表看到第一個選項和它旁邊的箭頭按鈕,當(dāng)用戶單擊箭頭按鈕時,對邊的箭頭按鈕,當(dāng)用戶單擊箭頭按鈕時,對于下

9、拉式列表事件源,可以發(fā)生于下拉式列表事件源,可以發(fā)生ItemEvent事件。事件。 6. 文本框(文本框(JTextField)、密碼框)、密碼框JPasswordField、文本區(qū)(、文本區(qū)(JTextArea) JTextField文本框、文本框、JTextArea文本區(qū)和重組件文本區(qū)和重組件的文本框、文本區(qū)類似,分別用于顯示單行文本的文本框、文本區(qū)類似,分別用于顯示單行文本和多行文本。例如,可以使用和多行文本。例如,可以使用 setText(String)設(shè)設(shè)置文本,置文本,getText()獲取文本,文本區(qū)還可以使用獲取文本,文本區(qū)還可以使用append(String)向文本區(qū)追加文本

10、,口令框可以向文本區(qū)追加文本,口令框可以使用使用setEchoChar(char c)設(shè)置回顯字符等,設(shè)置回顯字符等,JTextField文本框還可以調(diào)用文本框還可以調(diào)用setHorizontalAlignment(int alignment)方法設(shè)方法設(shè)置文本的對齊方式,其中置文本的對齊方式,其中alignment的有效值是的有效值是JTextField.LEFT、JTextField.CENTER、JTextField.RIGHT 、JTextField.LEADING 、JTextField.TRAILING 。7文件選擇器文件選擇器(JFileChooser) 文件選擇器是一個從文件系

11、統(tǒng)中進(jìn)行文件文件選擇器是一個從文件系統(tǒng)中進(jìn)行文件選擇的界面。文件選擇器事實上并不能打選擇的界面。文件選擇器事實上并不能打開或保存文件,它們只能替你得到要打開開或保存文件,它們只能替你得到要打開或保存的文件對象,要想真正實現(xiàn)打開或或保存的文件對象,要想真正實現(xiàn)打開或保存,必須還得使用輸入、輸出流。保存,必須還得使用輸入、輸出流。 8進(jìn)度條進(jìn)度條 使用使用JProgressBar類創(chuàng)建進(jìn)度條組件。該類創(chuàng)建進(jìn)度條組件。該組件能用一種顏色動態(tài)地填充自己,以便組件能用一種顏色動態(tài)地填充自己,以便顯示某任務(wù)完成的百分比。顯示某任務(wù)完成的百分比。9表格表格(JTable) 表格組件以行和列的形式顯示數(shù)據(jù),允

12、許表格組件以行和列的形式顯示數(shù)據(jù),允許對表格中的數(shù)據(jù)進(jìn)行編輯。表格的模型功對表格中的數(shù)據(jù)進(jìn)行編輯。表格的模型功能強(qiáng)大、靈活并易于執(zhí)行。能強(qiáng)大、靈活并易于執(zhí)行。 10樹樹(JTree) 一個一個JTree類對象提供了一個用樹型結(jié)構(gòu)分層顯示數(shù)據(jù)的類對象提供了一個用樹型結(jié)構(gòu)分層顯示數(shù)據(jù)的視圖,樹中最基本的對象叫做節(jié)點(diǎn),它表示在給定層次視圖,樹中最基本的對象叫做節(jié)點(diǎn),它表示在給定層次結(jié)構(gòu)中的數(shù)據(jù)項。樹以垂直方式顯示數(shù)據(jù),每行顯示一結(jié)構(gòu)中的數(shù)據(jù)項。樹以垂直方式顯示數(shù)據(jù),每行顯示一個節(jié)點(diǎn)。樹中只有一個根節(jié)點(diǎn),所有其它節(jié)點(diǎn)從這里引個節(jié)點(diǎn)。樹中只有一個根節(jié)點(diǎn),所有其它節(jié)點(diǎn)從這里引出。除根節(jié)點(diǎn)外,其它節(jié)點(diǎn)分為兩類:一類是帶子節(jié)點(diǎn)出。除根節(jié)點(diǎn)外,其它節(jié)點(diǎn)分為兩類:一類是帶子節(jié)點(diǎn)的分支節(jié)點(diǎn),另一類是不帶子節(jié)點(diǎn)的葉節(jié)點(diǎn)。每一個節(jié)的分支節(jié)點(diǎn),另一類是不帶子節(jié)點(diǎn)的葉節(jié)點(diǎn)。每一個節(jié)點(diǎn)關(guān)聯(lián)著一個描述該節(jié)點(diǎn)的文本標(biāo)簽和圖像圖標(biāo)。文本點(diǎn)關(guān)聯(lián)著一個描述該節(jié)點(diǎn)的文本標(biāo)簽和圖像圖標(biāo)。文本標(biāo)簽是節(jié)點(diǎn)的字符串表示,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論