




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1第十四講JavaGUI編程之一基本要求1.了解JavaGUI2.掌握Swing的特性及其類層次結(jié)構(gòu),Swing程序的一般結(jié)構(gòu)3.掌握Swing常用容器組件2一、了解GUIGUI(graphicuserinterface)是圖形用戶界面。在GUI中,用戶可以看到什么就操作什么,取代了以往字符方式下知道是什么后才能操作的方式,極大地方便了用戶對計算機的操作,GUI現(xiàn)在已經(jīng)成為當前的編程標準。Java提供了AWT(AbstractWindowToolkit,抽象窗口工具包)和Swing兩個圖形用戶界面工具包,IBM公司制定無任何依賴、低層的圖形庫SWT(StandardWidgetToolkit);Jface框架將SWT進行了封裝,更易于使用。但SWT和JFace僅在Eclipse上提供。3二、了解AWT,SWing容器類,JFrame,JPanel,JAppletUI組件類,JButton等幫助類等AWT(AbstractWindowToolkit)包括了很多類和接口,用于JavaApplication的GUI編程。Swing組件繼承AWT,純JAVA.Swing組件是Java語言提供的第二代GUI設計工具包,它以AWT為基礎,在AWT內(nèi)容的基礎上新增或改進了一些GUI組件,使得GUI程序功能更強大,設計更容易、更方便4(1)AWT的類層次結(jié)構(gòu)ObjectAWTEventFontFlowLayoutBorderLayoutCardLayoutGridLayoutGridBagLayoutComponentButtonCanvasCheckboxContainerChoiceLabelListTextComponentScrollbarPanelScrollPaneWindowAppletDialogFrameTextAreaTextFieldMenuComponentGraphicsMenuBarMenuItemMenuCheckBoxMenuItemPopupMenuToolKitJMenuGraphics2D5(2)Swing組件的層次結(jié)構(gòu)6三、深入理解GUI編程
無論使用任何語言設計GUI圖形用戶界面時,都有用于放置可視化組件的主窗口,即用來放置其他組件的組件,如Windows窗口中的主窗體。通常這類組件稱為Container容器,其主要作用就是將組件組合在一起。容器可以分為兩類,頂層容器和中間容器。7(1)頂層容器
頂層容器是進行圖形編程的基礎,一切圖形化的東西,都必然包括在頂層容器中。頂層容器是任何圖形界面程序都要涉及的主窗口,是顯示并承載組件的容器組件。在Swing中,我們有三種可以使用的頂層容器,它們分別是:JFrame、JDialog和JApplet。(類似于地基)JFrame:用于框架窗口的類,此窗口帶有邊框、標題、用于關閉和最小化窗口的圖標等。帶GUI的應用程序通常至少使用一個框架窗口。JDialog:用于對話框的類。JApplet:用于使用Swing組件的JavaApplet的類。8(a)JFrameJFrame是放置其他Swing組件的頂級容器,相當于Windows窗口中的主窗體。該組件用于在Swing程序中創(chuàng)建窗體,JFrame類繼承了AWT的Frame類,支持Swing體系結(jié)構(gòu)的高級GUI屬性。JFrame用來設計類似于Windows系統(tǒng)中的窗口形式的界面。JFrame類的常用構(gòu)造方法如表構(gòu)造方法名稱概述JFrame()構(gòu)造一個初始時不可見的新窗體。JFrame(Stringtitle)創(chuàng)建一個新的、初始不可見的、具有指定標題的JFrame。9例1classdemo{
publicstaticvoidmain(Stringargs[]){JFrameframe=newJFrame("ddd");
frame.setSize(400,300);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);}}//思考,如何才能使得Jframe居中進行顯示???//參考setLocationRelativeTo方法10例2publicclassdemoextendsJFrame{demo(){super("ddd");//this.setTitle(“ddd”);
this.setSize(400,300);
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
this.setVisible(true);
}publicstaticvoidmain(String[]args){demod=newdemo();
}
}//對比這兩種方式的區(qū)別???11(b)JDialogJDialog對話框相對于AWT的Dialog對話框來說,屬于增強型對話框。JDialog對話框和JFrame對話框一樣,都屬于頂層容器,可以單獨顯示。JDialog是創(chuàng)建對話框窗口的主要類??梢允褂么祟悇?chuàng)建自定義的對話框。該類繼承了AWT的Dialog類,支持Swing體系結(jié)構(gòu)的高級GUI屬性。12JDialog常用構(gòu)造方法JDialog(owner)JDialog(owner,Booleanmodal)JDialog(owner,Stringtitle)JDialog(owner)JDialog(owner,Booleanmodal)JDialog(owner,Stringtitle)13例子---JDialogimportjava.awt.*;importjavax.swing.*;publicclassJDialogExampleextendsJFrame{publicJDialogExample(){Containerc=getContentPane();//獲取當前窗口的內(nèi)容窗口
JDialogjd=newJDialog(this,"自定義增強對話框");JLabeljl=newJLabel("對話框顯示");
jd.getContentPane().add(jl);jd.setSize(100,100);jd.setVisible(true); setTitle("帶有對話框的JFrame程序");//設置顯示窗口標題
setSize(400,200);//設置窗口顯示尺寸
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//設置窗口是否可以關閉
setVisible(true);//設置窗口是否可見
}publicstaticvoidmain(String[]agrs) { newJDialogExample(); }}14(2)中間容器
中間容器是容器組件的一種,可以承載其他組件。但中間容器不能獨立顯示,必須依附于其他的頂層容器。常見的中間容器有:JPanel、JScrollPane、JTabbedPane和JToolBar。(類似于墻體)JPanel:最靈活、最常用的中間容器。JScrollPane:與JPane類似,但還可在大的組件或可擴展組件周圍提供滾動條。JTabbedPane:包含多個組件,但一次只顯示一個組件。用戶可在組件之間方便地切換。JToolBar:按行或列排列一組組件(通常是按鈕)15JPanel是一個中間容器組件,可以向其中添加其他的GUI組件(如按鈕JButton組件);但是JPanel不是頂層容器,因此在屏幕上顯示JPanel,必須將它添加到一個頂層容器(如JFrame)中。我們可以在JPanel中放置按鈕、文本框等非容器組件,甚至可以在JPanel中再放置若干個JPanel組件。JPanel組件具有中間容器的特點,如無邊框等。JPanel的缺省布局為流式布局FlowLayout。16例:P206程序publicclassPanextendsJPanel{ publicstaticvoidmain(String[]agrs) { JFrameframe=newJFrame("JPanelDemo1"); frame.setSize(300,200); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ContainercontentPanel=frame.getContentPane(); contentPanel.add(newPan()); frame.setVisible(true); } publicPan() { add(part1()); add(part2()); add(part3()); setVisible(true); } privateJPanelpart1() { JPanelpanel=newJPanel(); panel.add(newJLabel("學號:")); panel.add(newJTextField("請輸入學號.",10)); panel.setVisible(true); returnpanel; } privateJPanelpart2() { JPanelpanel=newJPanel(); panel.add(newJLabel("姓名:")); panel.add(newJTextField("請輸入姓名.",10)); panel.setVisible(true); returnpanel; } privateJPanelpart3() { JPanelpanel=newJPanel(); panel.add(newJButton("退出")); panel.add(newJButton("取消")); panel.add(newJButton("確定")); panel.setVisible(true); returnpanel; }}17練習P188頁例子注意區(qū)別JDialog與JOptionPaneJOptionPane可以直接調(diào)用產(chǎn)生,而JDialog依賴于JFrame18JOptionPane常用的對話框1.showMessageDialog
顯示消息消息對話框,可以設置消息內(nèi)容、標題、消息的樣式、圖標
2.showInputDialog
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度快遞配送服務承包合同
- 二零二五年度農(nóng)業(yè)科技項目合作放棄承諾函合同范本
- 二零二五年度安防產(chǎn)品簡易加工制造合同
- 二零二五年度養(yǎng)老產(chǎn)業(yè)擔保與借款人服務協(xié)議
- 二零二五年度私人土地租賃與體育設施建設合同
- 基于人工智能技術(shù)的智慧城市規(guī)劃合同書
- 服裝設計與制作合同
- 科技部技術(shù)服務合同
- 互聯(lián)網(wǎng)行業(yè)用戶隱私保護及免責協(xié)議
- 物流園區(qū)投資建設協(xié)議
- 基本養(yǎng)老保險個人權(quán)益記錄范文單
- 排球正面雙手墊球教案教學設計
- 【23精品】蘇少小學美術(shù)三下教案全冊
- 房屋租賃(出租)家私清單
- 計算機技術(shù)碩士專業(yè)學位授權(quán)點申報研究演示課件(PPT 39頁)
- 剪紙藝術(shù)-認識剪紙
- 駕駛員違規(guī)違章學習記錄表
- 簡易瞬態(tài)工況法1
- 中國鐵路總公司環(huán)境保護管理辦法(鐵總計統(tǒng)〔2015〕260號)
- 技術(shù)分析介紹教程課件
- 汽車新能源汽車產(chǎn)業(yè)專利趨勢分析
評論
0/150
提交評論