版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
Java程序設(shè)計基礎(chǔ)與實戰(zhàn)教學(xué)設(shè)計課程名稱:Java程序設(shè)計__授課年級:_______________________授課學(xué)期:_______________________教師姓名:_______________________2023年07月21日課程名稱第12章圖形界面設(shè)計計劃學(xué)時3+2學(xué)時內(nèi)容分析GUI全稱是GraphicalUserInterface,就是應(yīng)用程序提供給用戶操作的圖形界面,包括窗口、菜單、按鈕、工具欄和其它各種圖形界面元素。Java中針對GUI設(shè)計提供了豐富的類庫,這些類分別位于java.awt和javax.swing包中。本章將簡單介紹AWT組件庫,并對Swing組件庫、常用布局管理器和事件處理機制進行詳細(xì)的講解。教學(xué)目標(biāo)與教學(xué)要求【知識目標(biāo)】理解進程與線程的區(qū)別。了解線程的生命周期及狀態(tài)轉(zhuǎn)換。了解單例模式。了解線程池。【技能目標(biāo)】掌握線程的創(chuàng)建方式。掌握常見的Swing組件。掌握線程同步的方式。掌握動作事件監(jiān)聽器?!舅颊四繕?biāo)】培養(yǎng)學(xué)生審美。教學(xué)重點Swing組件的使用、布局管理器、事件處理機制、動作事件監(jiān)聽器教學(xué)難點布局管理器、事件處理機制、動作事件監(jiān)聽器教學(xué)方式課堂講解配合ppt演示4學(xué)時,上機演練2學(xué)時教學(xué)過程第一學(xué)時(AWT概述、Swing概述、常用窗體)一、提出需求,導(dǎo)入學(xué)習(xí)任務(wù) (1)JavaGUI概述早期,用戶和計算機交互使用的是命令行界面(Command-LineInterface,CLI),現(xiàn)在還可以依稀看到它的身影。例如,Windows系統(tǒng)保留的DOS窗口。命令行界面單調(diào)、枯燥且需要用戶記憶大量的操作命令。Windows和MacOS等操作系統(tǒng)的出現(xiàn),將圖形用戶界面(GraphicalUserInterface,GUI)設(shè)計帶進新的時代。GUI是指采用圖形方式顯示的計算機操作用戶界面,用戶可以通過其中的圖形對象。Java提供了三個主要包做GUI開發(fā):java.awt包–主要提供字體/布局管理器javax.swing包[商業(yè)開發(fā)常用]–主要提供各種組件(窗口/按鈕/文本框)java.awt.event包–事件處理,后臺功能的實現(xiàn)(2)明確學(xué)習(xí)方向了解AWT組件庫。了解Swing組件庫。掌握J(rèn)Frame窗體的使用。掌握J(rèn)Dialog對話框窗體的使用。二、知識講解(一)AWT概述介紹:AWT(抽象窗口工具集AbstractWindowToolkit)包括了很多類和接口,用于JavaApplication的GUI(GraphicsUserInterface圖形用戶界面)編程。特點:AWT組件是重量級組件,它依賴于本地操作系統(tǒng)的GUI,缺乏平臺獨立性。位置:AWT所涉及到的類一般在java.awt的包及其子包中。結(jié)構(gòu)圖:java.awt.Component用來組織界面上的組件或者單元。有一定的范圍和大小,也有一定的位置,這個位置可分相對位置和絕對位置。java.awt.Container是Java圖形用戶界面最基本組成部分,描述以圖形化的方式顯示在屏幕上并能夠與用戶進行交互的GUI元素(二)Swing概述AWT的缺點:AWT組件種類有限,無法實現(xiàn)GUI設(shè)計的所有功能,并且不能實現(xiàn)跨平臺。SwingAPI的位置:java.awt、javax.swing包及子包結(jié)構(gòu)圖:注意:Swing并不能完全取代AWT,而是基于AWT架構(gòu)的基礎(chǔ)進行構(gòu)建的。在開發(fā)Swing程序時通常借助于AWT的一些對象來共同完成應(yīng)用程序的設(shè)計,如AWT的事件處理機制等
常用組件:(三)常用窗體1.JFrame窗體作用:JFame窗體是一個容器,是Swing程序中各個組件的載體。
這個窗體繼承了系統(tǒng)自帶的控制窗體的按鈕,如“最大化”、“最小化”和“關(guān)閉”等??梢栽谠摯绑w中添加組件以及為組件設(shè)置事件。構(gòu)造方法:示例:JFramejf=newJFrame("JFrame窗口");常用方法:關(guān)閉窗體的方式:注:在開發(fā)時可以根據(jù)不同的需求為setDefaultCloseOperation(intoperation)設(shè)置不同的參數(shù)值。轉(zhuǎn)換為容器:原因:如果要在JFrame窗體中填充組件,需要獲取當(dāng)前窗體的Container對象,將窗體作為容器添加組件或設(shè)置布局管理器。示例:Containercontainer=jf.getContentPane();添加組件JLabeljl=newJLabel("這是一個JFrame窗體");container.add(jl);移除組件container.remove(jl);演示案例:創(chuàng)建SimpleJFrame類,繼承JFrame類,在該類中定義createFrame()方法,在方法中創(chuàng)建標(biāo)簽組件和按鈕組件,并添加到窗體容器中(詳見本章PPT)。2.JDialog對話框窗體作用:JDialog類是Swing組件中的對話框,可以給用戶顯示信息或者獲取用戶提供的信息。JDialog類實現(xiàn)從一個窗體中彈出另一個窗體。構(gòu)造方法:model參數(shù)將指定顯示該對話框時阻塞應(yīng)用程序的哪些窗口。有模式的對話框?qū)⒆枞麘?yīng)用程序中除當(dāng)前窗口子窗口外的所有其他窗口無模式的對話框不會阻塞其他窗口。使用步驟:①自定義對話框繼承JDialog類。
②在對話框構(gòu)造狗仔方法中,調(diào)用父類JDialog的構(gòu)造方法。
③條件對話框的Swing組件,如按鈕和標(biāo)簽等。
④為組件綁定事件處理器(第9.10節(jié)進行講解)。
⑤根據(jù)需求,對對話框的屬性進行調(diào)整,如大小和位置等。
注意:調(diào)用父類JDialog的構(gòu)造時,要提供所在窗體對象(Frame的對象),如果沒有提供,那么這對話框是一個隱藏窗體。演示案例:實現(xiàn)單擊JFrame窗體的【按鈕】時,彈出一個對話框窗體(詳見本章PPT)。三、知識鞏固(1)回顧上課前的學(xué)習(xí)目標(biāo),對本節(jié)課知識點進行總結(jié)。(2)使用第九章課后作業(yè)。第二學(xué)時(常用布局管理器、常用面板、文本組件)一、回顧上節(jié)課內(nèi)容(1)對上節(jié)課布置的任務(wù)以及學(xué)生提出的問題進行答疑解惑。(2)回顧上節(jié)課內(nèi)容,引出本節(jié)課主題。(3)明確學(xué)習(xí)方向。掌握常用布局管理器的使用。掌握常用的面板組件。掌握常用的文本組件。二、知識講解(一)常用布局管理器布局管理器的作用:布局管理器是Java中用來控制組件排列位置的一種界面管理API。通常,組件放置在容器中,布局管理器決定容器中的組件具體放置位置和大小。常用布局管理器:FlowLayout流式布局管理器BorderLayout邊界布局GridLayout網(wǎng)格布局CardLayout卡片布局BoxLayout盒子布局管理器1.流式布局管理器特點:在FlowLayout中,不必指定每個軟件的擺放位置,只要把組件加入到FlowLayout中,就會根據(jù)添加組件的順序依次擺放組件。組件按照加入的先后順序從左向右排列,一行排滿之后就轉(zhuǎn)到下一行繼續(xù)從左向右排列,每一行中的組件都居中排列。構(gòu)造方法:align參數(shù)表示組件的對齊方式(在每一行的具體擺放位置)hgap參數(shù)表示組件之間的橫向間隔vgap參數(shù)表示組件之間的縱向間隔,單位是像素algin參數(shù)值:演示案例:創(chuàng)建一個窗口,大小為400*400像素,設(shè)置標(biāo)題為“使用流布局管理器的窗體”。使用FlowLayout類對窗口進行布局,向容器內(nèi)添加5個按鈕,并設(shè)置橫向和縱向的間隔都為10像素(詳見本章PPT)。2.邊界布局管理器特點:BorderLayout把容器簡單的劃分為東、西、南、北、中5個區(qū)域,當(dāng)使用該布局時,要指明組件添加在哪個區(qū)域。若未指明則默認(rèn)加入到中間區(qū)域。示意圖:主要成員變量:add()方法:作用:調(diào)用Container類的add()方法將組件填充到容器時,可以設(shè)置組件的擺放位置。方法聲明:publicvoidadd(Componentcomp,Objectconstraints);comp參數(shù)表示要條件的組件constrainsts表示該組件的布局約束對象演示案例:創(chuàng)建一個窗體,給該窗體使用BorderLayout布局管理器,分別在邊界布局管理器的North、South、East、West和Center區(qū)域中添加5個按鈕。每個按鈕水平水平和垂直間距都是10(詳見本章PPT)。3.網(wǎng)格布局管理器特點:網(wǎng)格布局管理器將容器劃分為網(wǎng)格,以表格形式進行管理的。
使用此布局管理器必須設(shè)置顯示的行數(shù)和列數(shù)??梢詫⒔M件按行或者列進行排列。構(gòu)造方法:rows和cols參數(shù)分別代表網(wǎng)格的行數(shù)和列數(shù)(二者只有一個為0,代表一行或者一列可以排列若干個組件)hgap和vgap參數(shù)分別用來指定網(wǎng)格之間的水平間距和垂直間距演示案例:創(chuàng)建一個窗體,設(shè)置使用GridLayout布局管理器呈現(xiàn)5行6列的網(wǎng)格,設(shè)置網(wǎng)格之間的水平間距和垂直間距都是5,并向每個網(wǎng)格中添加一個JButton組件。4.盒子布局管理器特點:盒子布局器允許組件水平或垂直排列,類似于FlowLayout,但FlowLayout不支持垂直排列。構(gòu)造方法:BoxLayout(Containertarget,intaxis)參數(shù)target指目標(biāo)容器參數(shù)axis指BoxLayout的排列方式X_AXIS:使組件從左到右排列Y_AXIS:使組件從上到下排列演示案例:創(chuàng)建一個窗體,使用BoxLayout布局管理器,實現(xiàn)三個按鈕的垂直排列(詳見本章PPT)。(二)常用面板概念:面板組件是一種Swing的容器,能夠容納其他組件。特點:面板組件是一種中間容器,它不能單獨存在,只能放置在頂級窗口容器中。成員:Swing中常用的面板包括Jpanel面板和JscorllPane面板。1.JPanel特點:JPanel面板組件是一個無邊框,不能被移動、不能放大,縮小、不能關(guān)閉的面板,它的默認(rèn)布局管理器是FlowLayout。構(gòu)造方法:演示案例:創(chuàng)建一個窗體,設(shè)置標(biāo)題為“Jframe窗口”,然后向窗體中添加一個面板,為面板設(shè)置GridLayout布局,并面板上的每個網(wǎng)格中添加按鈕,命名為“JPanel的按鈕”。(詳見本章PPT)2.JScrollPane特點:JScrollPane是一個帶有滾動條的面板,面板上只能添加一個組件。如果想向JScrollPane面板中添加多個組件,應(yīng)該先把多個組件添加到某個組件中,然后再將這個組件添加到JScrollPane中。構(gòu)造方法:view參數(shù)表示要放置于JScrollPane面板上的組件對象添加組件:add()方法演示案例:創(chuàng)建一個JFrame窗體,添加一個文本域組件JTextArea,并指定文本域的大小。創(chuàng)建一個JScrollPane面板,將文本域?qū)ο筇砑拥絁ScrollPane面板中。(詳見本章PPT)(三)文本組件1.文本框(JTextField)作用:文本組件用于接收用戶輸入的信息或向用戶展示信息,在開發(fā)工作中應(yīng)用最為廣泛。JTextField文本框用來顯示或編輯一個單行文本。構(gòu)造方法:text參數(shù)表示文本框的指定文本,可以用來設(shè)置提示信息。JTextField()構(gòu)造方法創(chuàng)建的對象,可以使用setText(Stringt)方法設(shè)置默認(rèn)文本演示案例:創(chuàng)建一個JFrame窗體,添加文本框組件和按鈕組件(詳見本章PPT)。2.密碼框(JPasswordFiled)作用:密碼框?qū)⒂脩糨斎氲淖址阅撤N符號進行加密。構(gòu)造方法:演示案例:創(chuàng)建一個JFrame窗體,添加密碼框組件(詳見本章PPT)3.文本域(JTextArea)作用:JTextArea用來編輯多行的文本域。構(gòu)造方法:演示案例:創(chuàng)建一個JFrame窗體,添加文本域組件。(詳見本章PPT)三、知識鞏固(1)回顧上課前的學(xué)習(xí)目標(biāo),對本節(jié)課知識點進行總結(jié)。(2)使用第八章課后作業(yè)。第三學(xué)時(按鈕組件、JComboBox、菜單組件、創(chuàng)建Tree、JTable)一、回顧上節(jié)課內(nèi)容(1)對上節(jié)課布置的任務(wù)以及學(xué)生提出的問題進行答疑解惑。(2)回顧上節(jié)課內(nèi)容,引出本節(jié)課主題。(3)明確學(xué)習(xí)方向。掌握常用按鈕。掌握J(rèn)ComboBox的使用。掌握菜單組件。掌握創(chuàng)建Tree的方式。掌握J(rèn)Table的使用二、知識講解(一)按鈕組件1.提交按鈕作用:Jbutton類的對象是一個可以點擊的按鍵。構(gòu)造方法:使用icon參數(shù)可以自定義按鈕上的圖標(biāo)。常用方法:
演示案例:在JFrame窗體中創(chuàng)建一個帶圖標(biāo)的按鈕(詳見本章PPT)。2.單選按鈕作用:JRadioButton是一個帶標(biāo)簽的圓形選擇框,有兩個狀態(tài)分別是選中狀態(tài)和未選中狀態(tài)。構(gòu)造方法:特點:實質(zhì)上單選按鈕與提交按鈕的用法基本類似,只是實例化單選按鈕對象后需要將其添加至按鈕組(ButtonGroup)中。演示案例:創(chuàng)建一個有3個按鈕的ButtonGroup按鈕組,并添加到JFrame窗體中。3.復(fù)選框作用:JCheckBox是Swing中的復(fù)選框。所謂復(fù)選框就是指,可以同時存在多個這樣的控件,它們可以有多個處于被選中狀態(tài)。對于每一個復(fù)選框而,它只有選中和未選中兩種狀態(tài)。構(gòu)造方法:演示案例:在JFrame窗體中添加3個復(fù)選框(詳見本章PPT)。(二)JComboBox作用:JComboBox組件,被稱為組合框或者下拉列表框,它將所有選項折疊在一起,默認(rèn)顯示的是第一個添加的選項。構(gòu)造方法:特點:初始化下拉列表框時,可以同時指定下拉列表框的選項內(nèi)容,也可以在程序中使用其他方法設(shè)置下拉列表框的內(nèi)容。下拉列表框中的內(nèi)容可以被封裝在ComboBoxModel類型、數(shù)組、或者Vector類型中演示案例:在JFrame窗體中創(chuàng)建一個有3個下拉選項的下拉框,并未下拉框綁定itemStateChanged事件(詳見本章PPT)。(三)菜單組件1.下拉式菜單菜單欄:JMenuBar下拉菜單:JMenu菜單項:JMenuItem建立很多JMenu組件后,需要通過JMenuBar組件將JMenu組件加入到窗體中。JMenu構(gòu)造方法:JMenu常用方法:演示案例:在JFrame窗體中創(chuàng)建一個菜單欄,添加下拉菜單“文件”,該菜單具有兩個菜單項“保存”和“退出”,為“退出”菜單項綁定事件,實現(xiàn)點擊“退出”菜單項關(guān)閉窗體(詳見本章PPT)。2.彈出式菜單(JPopupMenu)作用:在Java中實現(xiàn)彈出式菜單,可以使用JPopupMenu菜單組件。構(gòu)造方法:演示案例:在JFrame窗體中創(chuàng)建彈出式菜單,該菜單有兩個菜單項“保存”和“退出”,為“添加”添加事件監(jiān)聽器實現(xiàn)關(guān)閉窗體,為窗體添加事件鼠標(biāo)事件監(jiān)聽器,實現(xià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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《現(xiàn)代建筑深度研究》課件
- 《房地產(chǎn)廣告》課件
- 小學(xué)一年級10以內(nèi)連加連減口算練習(xí)題1080道
- 一位高中生的懺悔高考語文閱讀理解
- 《汽車知識簡述》課件
- 《初中數(shù)學(xué)打折銷售》課件
- 等離子弧焊類型、原理及其安全特點
- 酒店服務(wù)員的職責(zé)和要求
- 律師行業(yè)安全生產(chǎn)工作總結(jié)
- 財務(wù)培訓(xùn)與職業(yè)發(fā)展總結(jié)
- 壯醫(yī)藥水蛭療法
- 2024年高考語文備考之語用新題“語境+語義”專練
- 生產(chǎn)計劃實施考核管理辦法
- 200句搞定中考英語詞匯
- 2024年型材切割機市場需求分析報告
- 二型糖尿病足
- 汽車文化教案(汽車發(fā)展史)
- 實習(xí)生安全教育培訓(xùn)課件
- 土木工程認(rèn)識實習(xí)報告
- 服務(wù)區(qū)安全生產(chǎn)培訓(xùn)
- 兒童顱內(nèi)腫瘤的診斷與手術(shù)治療
評論
0/150
提交評論