項目7 仿windows計算器界面_第1頁
項目7 仿windows計算器界面_第2頁
項目7 仿windows計算器界面_第3頁
項目7 仿windows計算器界面_第4頁
項目7 仿windows計算器界面_第5頁
已閱讀5頁,還剩47頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

項目7仿windows計算器界面2了解Swing組件掌握使用常用窗體:JFrame掌握使用常用面板:JPanel掌握常用組件的創建和添加文本組件按鈕組件列表組件掌握應用程序中的布局管理器本章目標本章任務3制作如下所示的計算器界面1.Swing概述(1)AWT和Swing

Java的抽象窗口工具包(AbstractWindowToolkit,AWT)提供了支持GUI設計的類和接口,AWT由java.awt包提供。

AWT中的圖形函數與操作系統所提供的圖形函數之間有著一一對應的關系。也就是說,當我們利用AWT來構建圖形用戶界面的時候,實際上是在利用操作系統所提供的圖形庫。AWT缺點:觀感效果依賴于目標平臺41.Swing概述(2)AWT和Swing

Swing是在AWT的基礎上構建的一套新的圖形界面系統。它提供了比AWT更強大和更靈活的組件,并且所有組件都完全用Java書寫,因此具有良好的跨平臺性。5Swing組件存放在javax.swing包中。幾乎所有AWT組件對應有新功能更強的Swing組件。另外還加入了一些全新的組件Swing組件在名稱上前面多了一個字母“J”:JButton、JLabel、JMenu、JFrameSwing給予不同平臺的用戶一致的感觀效果1.Swing概述(3)組件:以圖形化的方式顯示在屏幕上并能與用戶進行交互的GUI元素。例如按鈕、文本框等。一般的組件是不能獨立地顯示出來的,必須依賴于容器才能顯示。容器:容器是一種比較特殊的組件,它可以包含其他的組件,也可以包含容器。例如JFrame、JApplet、JWindow等。Swing中的容器包括頂層容器和中間容器。每一個Java的GUI程序都必須至少包含一個頂層容器標簽按鈕1.Swing概述(4)7●頂層容器是可以獨立存在的容器,可以把它看成一個窗口。在Swing中,頂層容器有三種,分別是JFrame(框架窗口)、JDialog(對話框)和JApplet(用于設計嵌入在網頁中的Java小程序)。

●中間容器不能獨立存在,與頂層容器結合使用可以構建較復雜的界面布局。這些中間容器主要包括:

■?JPanel:最靈活、最常用的中間容器。

■?JScrollPane:與JPanel類似,但還可在大的組件或可擴展組件周圍提供滾動條。

■JTabbedPane:包含多個組件,但一次只顯示一個組件,用戶可以在組件之間方便地切換。

■?JToolBar:按行或列排列一組組件(通常是按鈕)。頂層容器按鈕文本框標簽中間容器1按鈕文本框中間容器2按鈕文本框2.JFrame框架窗口(1)8在開發應用程序時可以通過繼承javax.swing.JFrame類創建一個窗口,在這個窗口中添加組件,同時為組件設置事件。由于該窗口繼承了JFrame類,所以它擁有一些最大化、最小化、關閉的按鈕繼承自JFrame類的窗口默認大小是0,并且不可見,我們可以通過繼承父類提供的一些常用的方法來控制和修飾窗口。2.JFrame框架窗口(2)每個頂層容器都有一個內容窗格(contentpane),一般情況下,這個內容窗格會包含(直接或間接地)所有頂層容器GUI的可視組件。下圖展示了JFrame窗口的層次結構,包括綠色的菜單(空菜單)位置,還有一個巨大的黃色區域即是內容窗格。我們可以在內容窗格上添加各種組件,如標簽JLabel、按鈕JButton、文本框JTextField等。93.JLabel標簽組件(1)標簽由JLabel類定義,它的父類為JComponent類。標簽可以顯示一行只讀文本、一個圖像或帶圖像的文本,它并不能產生任何類型的事件,只是簡單地顯示文本和圖片,但是可以使用標簽的特性指定標簽上文本的對齊方式JLabel類提供了多種構造方法,這樣可以創建多種標簽,如顯示只有文本的標簽、只有圖標的標簽或是包含文本與圖標的標簽103.JLabel標簽組件(2)示例:創建兩個文本標簽,效果如圖所示113.JLabel標簽組件(3)示例3:使用圖片的標簽在窗口中添加一張圖片,再使用文字標簽為圖片添加說明(Swing利用javax.swing.ImageIcon類根據現有圖片創建圖標。)124.常用布局管理器在Swing中,每個組件在容器中都有一個具體的位置和大小,在容器中擺放各種組件時很難判斷其具體位置和大小。布局管理器提供Swing組件安排展示在容器中的方法,它提供了基本的布局功能。每個容器都有一個布局管理器,容器中組件的大小和定位都由其決定。當容器需要對某個組件進行定位時,就會調用其對應的布局管理器。常用的布局管理有java.awt包中定義的FlowLayout(流式布局)、BorderLayout(邊界布局)和GridLayout(網格布局)。當一個容器被創建后,它們有默認布局管理器。其中,JFrame和JDialog的默認布局管理器是BorderLayout;JPanel和JApplet的默認布局管理器是FlowLayout134.常用布局管理器(1)-流布局管理器FLowLayoutFlowLayout類布局方式是將組件從容器的左上角開始,依次從左到右、從上到下放置。當容器被重新設置大小后,則布局也會隨之發生改變:各組件的大小不變,但相對位置會發生變化常用構造方法align參數表示使用流布局管理器后組件在每一行的具體擺放位置,其值可以是FlowLayout.LEFT(左對齊)、FlowLayout.RIGHT(右對齊)、FlowLayout.CENTER(居中對齊)、FlowLayout.LEADING或FlowLayout.TRAILING。144.常用布局管理器(1)-流布局管理器FLowLayout示例4:使用流布局管理器,并在窗口上添加10個按鈕15

4.常用布局管理器(2)-邊界布局BorderLayout創建JFrame窗口后,默認的布局模式是邊界布局管理器例如在示例2,示例3中,我們在容器中添加標簽組件時,設定了組件的位置(c.add(BorderLayout.NORTH,bq1))BorderLayout包括五個區域:北North、南South、東East、西West和中Center,其方位依據上北下南左西右東而定。添加組件時,若沒有指明放置位置,則表明為默認的“Center”方位。當容器的尺寸發生變化時,各組件的相對位置不變,但中間部分組件的尺寸會發生變化,南北組件的高度不變,東西組件的寬度不變。164.常用布局管理器(2)-邊界布局BorderLayout示例5:創建一個JFrame,在容器的東南西北中區域添加5個按鈕。運行效果如圖所示17

4.常用布局管理器(3)-網格布局GridLayoutGridLayout將容器劃分為網格,所以組件可以按行和列進行排列。在網格布局管理器中,每一個組件的大小都相同,并且網格中的空格的個數由網格的行數和列數決定,例如一個兩行兩列的網格能產生4個大小相等的網格。組件從網格的左上角開始,按照從左到右、從上到下的順序加入到網格中,而且每一個組件都會填滿整個網格,改變窗體的大小,組件也會隨之改變大小。184.常用布局管理器(3)-網格布局GridLayout示例6:創建一個JFrame窗口,設置該窗口使用GridLayout布局管理器,并添加多個按鈕。運行效果如圖所示。

19

5.常用中間容器(1)使用中間容器結合布局管理器,通過容器的嵌套使用,可以實現對窗口的復雜布局。Swing中常用的中間容器包括JPanel面板和JScrollPane面板。1.JPanel面板JPanel類在Java屬于中間容器,本身也屬于一個輕量級容器組件。由于JPanel類透明且沒有邊框,因此不能作為頂層容器,不能獨立顯示。它的作用就在于放置Swing輕量級組件,然后作為整體安置在頂層容器中。JPanel的默認布局是流布局管理器。205.常用中間容器(2)示例7:創建一個JFrame窗口,在該窗口中添加4個JPanel面板,分別在這4個面板中添加多個按鈕,效果如圖所示。21

5.常用中間容器(3)在設置界面時,可能會遇到一個較小的容器窗體中顯示一個較大部分內容的情況,這時可以使用JScrollPane面板。JScrollPane面板是帶滾動條的面板,它也是一種容器,但是JScrollPane只能放置一個組件,并且不可以使用布局管理器。如果需要在JScrollPane面板中放置多個組件,需要將多個組件放置在JPanel面板上,然后將JPanel面板作為一個整體組件添加在JScrollPane面板上。225.常用中間容器(4)示例8:修改示例3,將圖片標簽放在JScrollPane面板上,效果如圖所示236.按鈕組件(1)按鈕在Swing中是較為常見的組件,它用于觸發特定動作。Swing中提供了很多按鈕,包括提交按鈕、復選框、單選按鈕等,這些按鈕都是從AbstractButton類中繼承而來的。1.提交按鈕組件JButton246.按鈕組件(2)示例9:創建一個帶文本和圖標的按鈕,運行效果如圖所示256.按鈕組件(3)2.單選按鈕組件JRadioButton默認情況下,單選按鈕(JRadioButton)顯示一個圓形圖標,并且通常在該圖標旁放置一些說明性文字,而在應用程序中,一般將多個單選按鈕放置在按鈕組中,使這些單選按鈕實現唯一被選性,即當用戶選中某個單選按鈕后,按鈕組中其他按鈕將被自動取消。266.按鈕組件(4)示例10:創建一組單選按鈕,用以選擇性別。運行結果如圖所示。276.按鈕組件(5)3.復選框組件JCheckBox復選框(JCheckBox)在Swing組件中使用也非常廣發,它具有一個方塊圖標,外加一段描述性文字。與單選按鈕唯一不同的是復選框可以進行多選設置,每一個復選框都提供“選中”與“不選中”兩種狀態。286.按鈕組件(6)示例11:創建多個復選框,進行興趣愛好選擇,運行效果如圖所示。297.文本組件(1)1.文本框組件JTextField文本框(JTextField)用來顯示或編輯一個單行文本,其構造方法如圖所示。從中可以看出,定義JTextField組件很簡單,可以在初始化文本框時設置文本框的默認文字、文本框的長度等。307.文本組件(2)示例12:創建一個用戶名文本框317.文本組件(3)2.密碼框組件JPasswordField密碼框(JPasswordField)與文本框的定義與用法類似,唯一不同的是密碼使用戶輸入的字符串以某種方式進行加密。327.文本組件(4)示例13:在示例12代碼上加一個密碼框,運行如圖所示。在JPasswordField類中提供了一個setEchoChar()方法,可以改變密碼框的回顯字符。337.文本組件(5)3.文本區JTextArea文本區JTextArea類提供可以編輯或顯示多行文本的區域,默認情況下,文本區是可編輯的。JTextArea的構造方法如圖所示。347.文本組件(6)示例14:創建一個文本區,用來顯示考場規則,效果如圖所示。358.列表組件(1)Swing中提供了下拉列表框與列表框兩種列表組件。下拉列表框與列表框都是帶有一系列項目的組件,用戶可以從中選擇需要的項目。列表框較下拉列表框更直觀一些,它將所有的項目羅列在列表框中;但下拉列表框較列表框更為便捷和美觀,它將所有的項目隱藏起來,當用戶選用其中的項目時才會顯現出來。368.列表組件(2)1.下拉列表框組件JComboBox下拉列表框JComboBox是一個帶條狀的顯示區,它具有下拉功能,在下拉列表框的右方存在一個倒三角形的按鈕,當用戶單擊該按鈕時,下拉列表框中的項目將以列表形式顯示出來。JComboBox構造方法如圖所示。8.列表組件(3)示例15:創建一個下拉列表框,用以選擇學歷。效果如圖所示388.列表組件(4)2.列表框組件JList列表框JList與下拉列表框的區別不僅表現在外觀上,當激活下拉列表框時,會出現下拉列表框中的內容,但列表框只是在窗體上占據固定的大小,如果要使列表框具有滾動效果,可以將列表框放入滾動面板中。用戶在選擇列表框中的某一項時,按住Shift鍵并選擇列表框中的其他項目,其他項目也將被選中;也可以按住Ctrl鍵并單擊列表框中的項目,這樣列表框中的項目處于非選擇狀態。398.列表組件(5)示例16:創建一個列表框,進行喜歡的汽車品牌選擇409.選項對話框(1)與最流行的窗口系統一樣,AWT也區分模式對話框和無模式對話框。一個模式對話框在用戶結束對它的操作之前,不允許用戶與應用程序其余的窗口進行交互。模式對話框用于在程序繼續運行之前獲得用戶提供的信息。例如,當用戶希望讀取一個文件時,一個模式文件對話框就會彈出。用戶必須制定一個文件名,然后程序才能夠開始讀操作。只有當用戶關閉(模式)對話框之后,應用程序才能繼續執行。無模式對話框允許用戶在對話框和應用程序其余的窗口中輸入信息。一個最好的使用無模式對話框的例子就是工具欄。419.選項對話框(2)429.選項對話框(3)parentComponent父組件(可以為null)message顯示在對話框中的消息(可以使字符串、圖標、組件等)title對話框標題欄中的字符串messageType取值為ERROR_MESSAGE、INFORMATION_MESSAGE、WARNING_MESSAGE、QUESTION_MESSAGE、PLAIN_MESSAGEicon用于代替標準圖標的圖標optionType:

決定在對話框的底部所要顯示的按鈕選項。一般可以為DEFAULT_OPTION(默認)、YES_NO_OPTION(Yes和No按鈕)、YES_NO_CANCEL_OPTION(Yes、No和Cancel按鈕)、OK_CANCEL_OPTION(Ok和Cancel按鈕)等439.選項對話框(4)■顯示消息對話框

JOptionPane.showMessageDialog(this,"這是消息對話框!","消息對話框示例",JOptionPane.WARNING

_MESSAGE);

449.選項對話框(5)45■顯示確認對話框

JOptionPane.showConfirmDialog(this,"這是確認對話框!

","確認對話框示例",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE);

9.選項對話框(6)■顯示選項對話框

String[]options={"鋼琴","小提琴","古箏"};

intre

溫馨提示

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

評論

0/150

提交評論