版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Java語言基礎(chǔ)第十五章 GUI應(yīng)用開發(fā)網(wǎng)絡(luò)的概念網(wǎng)絡(luò)協(xié)議TCP協(xié)議UDP協(xié)議網(wǎng)絡(luò)編程上章內(nèi)容Swing概述Swing容器和組件的使用常用布局管理器的使用事件驅(qū)動(dòng)機(jī)制分析與使用本章內(nèi)容AWTAWT的全稱是抽象窗口工具集(Abstract Window Toolkit) AWT中包括了圖形界面編程的基本類庫(kù)。它是Java 語言 GUI 程序設(shè)計(jì)的核心,它為用戶提供基本的界面構(gòu)件。AWT的缺點(diǎn)在AWT中存在缺少剪貼板、缺少打印支持等缺陷,甚至沒有彈出式菜單和滾動(dòng)窗口等AWT依賴于特定的系統(tǒng)Swing概述SwingSwing 元素的屏幕顯示性能要比AWT要好,而且 Swing 是使用純 Java 來
2、實(shí)現(xiàn)的。所以 Swing也理所當(dāng)然地具有Java 的跨平臺(tái)性。AWT組件具有平臺(tái)相關(guān)性,它是系統(tǒng)對(duì)等類的實(shí)現(xiàn);而 Swing 組件在不同平臺(tái)具有一致性的表現(xiàn),另外還可以提供本地系統(tǒng)不支持的一些特征。因此 Swing 比AWT的組件實(shí)用性更強(qiáng)。Swing概述 java.swing.JFrame類窗體類在Swing程序中,窗口是一個(gè)容器,在該容器中可以放其他一些組件。學(xué)習(xí)JFrame窗口類是學(xué)習(xí)其他組件的基礎(chǔ)。在Swing程序中創(chuàng)建窗口可以使用繼承JFrame類來完成。JFrame類在開發(fā)過程中通常通過繼承JFrame類實(shí)現(xiàn)窗口的繪制。JFrame類常用構(gòu)造方法JFrame()JFrame(Str
3、ing title)JFrame類常用方法 void setTitle(String str)/設(shè)置標(biāo)題 void setSize(int width,int hight)/設(shè)置窗體寬高 void setLocation(int x,int y)/設(shè)置在屏幕中的位置 void setVisable(boolean b)/設(shè)置顯示與否 Container getContentPane()/返回窗體對(duì)應(yīng)的內(nèi)容面板 setDefaultCloseOperation(int operation) /設(shè)置點(diǎn)擊關(guān)閉按鈕時(shí)默認(rèn)的操作JFrame類JFrame類常用方法 void setBounds(int
4、x, int y, int width, int height)/設(shè)置窗體的位置以及長(zhǎng)寬 void setUndecorated(boolean undecorated)/設(shè)置窗體的標(biāo)題欄和四周邊框是否顯示 void setResizable(boolean resizable)/ 設(shè)置窗體大小是否可以改變 void setBackground(Color c)/設(shè)置背景顏色JFrame類關(guān)閉窗體設(shè)置默認(rèn)的行為setDefaultCloseOperation(int operation)關(guān)閉窗體時(shí)的行為有DO_NOTHING_ON_CLOSE 不執(zhí)行任何動(dòng)作DISPOSE_ON_CLOSE 釋
5、放窗體對(duì)象HIDE_ON_CLOSE 隱藏窗體EXIT_ON_CLOSE 退出JVM提示:如果不使用setDefaultCloseOperation方法進(jìn)行設(shè)置,默認(rèn)值為HIDE_ON_CLOSE,也就是在默認(rèn)情況下單擊關(guān)閉按鈕將會(huì)使窗口隱藏。JFrame類Swing中的控件可以分為三類,頂層容器、非頂層容器和普通控件。在前面介紹的JFrame窗口類就是一個(gè)頂層容器。頂層容器是一種可以直接顯示在系統(tǒng)桌面上的控件,其他控件必須直接或者間接的借助頂層容器進(jìn)行顯示。頂層容器除了包括JFrame窗口類外,還包括JWindow和JDialog等不常用的類控件可以實(shí)現(xiàn)特定的功能,但它們不具有容器的作用,它
6、們只能放在容器中進(jìn)行顯示。普通控件包括按鈕、文本框等很多控件。 容器和控件JPanel類是一個(gè)非頂層容器,用于容納其它非頂層容器和控件的。JPanel常用方法 void setLayOut(LayOutManager layout);/設(shè)置面板的內(nèi)容管理器 void add(Component com);/添加組件JPanel類JLabel類是一個(gè)非交互的控件,用于顯示靜態(tài)文字與圖像JLabel構(gòu)造方法JLabel類JLabel常用方法 void setText(String text);/設(shè)置標(biāo)簽上顯示的文字 String getText();/獲取標(biāo)簽上的文字 void setIcon(I
7、con icon)/設(shè)置標(biāo)簽上的圖標(biāo) void setSize(int w,int h);/設(shè)置標(biāo)簽的寬高 void setLocation(int x,int y)/設(shè)置標(biāo)簽的位置 void setVerticalAlignment(int x)/設(shè)置標(biāo)簽的垂直對(duì)齊方向 void setHorizontalAlignment(int x)/設(shè)置標(biāo)簽的水平對(duì)齊方向JLabel類JButton表示按鈕,是最為常用的控件按鈕常用的構(gòu)造方法JButton()JButton(String text)JButton(Icon icon)JButton(String text,Icon icon)常用方法
8、 void setText(String text) void setIcon(Icon icon) void addActionListner(ActionListner al);/添加動(dòng)作監(jiān)聽器JButton按鈕按鈕是具有動(dòng)作事件的,單擊按鈕時(shí)觸發(fā)動(dòng)作事件,也就是ActionEvent事件。但是如果想讓按鈕在觸發(fā)事件后執(zhí)行程序,就需要為按鈕添加動(dòng)作事件監(jiān)聽器,并且需要為按鈕注冊(cè)動(dòng)作事件監(jiān)聽器。編寫動(dòng)作事件監(jiān)聽器是通過實(shí)現(xiàn)ActionListener監(jiān)聽接口來完成的。在ActionListener監(jiān)聽接口中只有一個(gè)actionPerformed方法,所以在動(dòng)作事件監(jiān)聽器中只需要實(shí)現(xiàn)這一個(gè)方法
9、。將觸發(fā)事件后將執(zhí)行的程序都寫在actionPerformed方法中。定義完監(jiān)聽器后,還需要向按鈕注冊(cè)該監(jiān)聽器,注冊(cè)監(jiān)聽器是通過addActionListener方法來實(shí)現(xiàn)的。按鈕動(dòng)作事件對(duì)于一個(gè)界面程序來說,如果只能顯示一些控件,這是完全不能滿足功能要求的。通過事件的使用,就可以使界面具有更加豐富的功能。事件是一種很好的讓界面和用戶進(jìn)行交互的手段。當(dāng)用戶和界面交互時(shí),經(jīng)常會(huì)進(jìn)行一些操作,例如單擊按鈕,按下指定鍵盤鍵,都會(huì)觸發(fā)事件。事件觸發(fā)后會(huì)告訴程序發(fā)生的什么事件,程序會(huì)根據(jù)不同的事件來做出響應(yīng)。在事件的發(fā)生和響應(yīng)的過程中需要兩個(gè)對(duì)象,事件源和事件監(jiān)聽器。事件事件源就是觸發(fā)事件的控件,這里包
10、括按鈕、文本框、窗體等很多種控件。但是不同的控件是存在不同的事件的,事件信息被封裝在事件對(duì)象中。事件監(jiān)聽器是指實(shí)現(xiàn)專門的監(jiān)聽接口的類的對(duì)象。每一個(gè)事件都有對(duì)應(yīng)的監(jiān)聽接口,同時(shí)在該接口中給出了處理事件的方法。在編寫監(jiān)聽器時(shí)需要事件監(jiān)聽接口,同時(shí)實(shí)現(xiàn)其中的方法,在方法中編寫觸發(fā)事件后執(zhí)行的程序。在編寫程序時(shí),還需要將監(jiān)聽器注冊(cè)給事件源,這樣才能執(zhí)行事件。事件源與事件監(jiān)聽器JTextField文本框是通過JTextField類來創(chuàng)建的,在創(chuàng)建的文本框中當(dāng)文本超出文本框規(guī)定長(zhǎng)度時(shí),將自動(dòng)滾動(dòng)文本顯示。文本框是通過JTextField類的構(gòu)造器創(chuàng)建的,包括5種構(gòu)造器,如表所示。文本框JTextField
11、常用方法 void setText(String text) String getText();提示:文本框也是會(huì)觸發(fā)事件的,它和按鈕一樣,都是觸發(fā)ActionEvent事件。按鈕是被單擊時(shí)觸發(fā)事件,而文本框是當(dāng)用戶按下回車鍵時(shí)觸發(fā)事件。文本框JPasswordField密碼框是文本框的改進(jìn)的控件,是一種專門用于輸入密碼的文本框。在文本框中輸入信息后,將不直接顯示輸入的信息,而是使用特定的特殊字符來進(jìn)行顯示。密碼框JTextArea當(dāng)希望進(jìn)行多行輸入時(shí),文本框就不能滿足其要求,這時(shí)候就需要?jiǎng)?chuàng)建多行文本框多行文本框JRadioButton單選按鈕是一種只能在一組選項(xiàng)中選擇其中一個(gè)選項(xiàng)的控件。單選
12、按鈕JCheckBox實(shí)現(xiàn)多項(xiàng)選擇功能多選按鈕JList能夠?yàn)橛脩籼峁┮唤M可供選擇的選項(xiàng),這些選項(xiàng)可以以一列或多列的形式顯示。默認(rèn)的選擇模式下,可以通過鼠標(biāo)單擊來選擇單個(gè)選項(xiàng),也可以在按住特定控制鍵的同時(shí),單擊鼠標(biāo)來進(jìn)行多項(xiàng)選擇。注意:JList類沒有提供滾動(dòng)功能,但是可以通過將其放置在JScrollPane中來實(shí)現(xiàn)滾動(dòng)操作。JList常用構(gòu)造方法JList()JList(Object array)列表框 boBox下拉列表只支持單個(gè)選項(xiàng),只允許用戶選擇一個(gè)選項(xiàng)。優(yōu)點(diǎn)是能節(jié)省空間,使界面更緊湊。注意:在默認(rèn)的情況下,下拉列表是不可以被用戶編輯的,但是可以使用 boBox提供的方法setEdit
13、able方法使其可以被編輯下拉列表框JTable有較多信息需要以列表形式顯示時(shí),我們通常會(huì)選擇表格JTable構(gòu)造方法JTable()JTable(int rows,int cols)JTable(TableModel tm)JTable常用方法setModel(TableModel tm)表格菜單涉及以下類JMenuBarJMenuJMenuItemJRadioMenuItemJCheckBoxMenuItem菜單使用布局管理器對(duì)容器中的控件進(jìn)行布局管理所有的布局管理器類都繼承了LayoutManager常見的布局管理器有流式布局 FlowLayout邊框布局 BorderLayout網(wǎng)格布局 Gr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 河北省滄州市多校聯(lián)考2025-2026學(xué)年高二(上)期末物理試卷(含答案)
- 廣東省廣州市白云區(qū)2025-2026學(xué)年七年級(jí)上學(xué)期期末考試英語試題(含答案無聽力原文及音頻)
- 北京市豐臺(tái)區(qū)2025-2026學(xué)年五年級(jí)學(xué)期期末語文試題(含答案)
- 五四的題目及答案
- 網(wǎng)絡(luò)管理員試題及答案
- 慶三八婦女節(jié)演講稿范文集錦6篇
- 北京市順義區(qū)2025-2026學(xué)年八年級(jí)上學(xué)期期末考試英語試題(原卷版+解析版)
- 2023年節(jié)溫器行業(yè)分析報(bào)告及未來五至十年行業(yè)發(fā)展報(bào)告
- 久治事業(yè)編招聘2022年考試模擬試題及答案解析40
- 初中學(xué)生安全教育
- 2026年陜西省森林資源管理局局屬企業(yè)公開招聘工作人員備考題庫(kù)及參考答案詳解1套
- 承包團(tuán)建燒烤合同范本
- 口腔種植牙科普
- 2025秋人教版七年級(jí)全一冊(cè)信息科技期末測(cè)試卷(三套)
- 搶工補(bǔ)償協(xié)議書
- DB33∕T 1152-2018 建筑工程建筑面積計(jì)算和竣工綜合測(cè)量技術(shù)規(guī)程
- SL631水利水電工程單元工程施工質(zhì)量驗(yàn)收標(biāo)準(zhǔn)第1部分:土石方工程
- 英語A級(jí)常用詞匯
- (二調(diào))武漢市2025屆高中畢業(yè)生二月調(diào)研考試 英語試卷(含標(biāo)準(zhǔn)答案)+聽力音頻
- 汽車修理廠輪胎采購(gòu) 投標(biāo)方案(技術(shù)標(biāo) )
- 2023年7月浙江省普通高中學(xué)業(yè)水平考試(學(xué)考)化學(xué)試題
評(píng)論
0/150
提交評(píng)論