<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java, Only Java!

    統(tǒng)計(jì)

    留言簿(20)

    積分與排名

    好友空間

    文檔技巧

    閱讀排行榜

    評(píng)論排行榜

    《Java大學(xué)教程》—第10章 圖形和事件驅(qū)動(dòng)程序

    10.2 Swing程序包
    AWT(Abstract Window Toolkit): 抽象窗口工具集。
    依賴于本地操作系統(tǒng)的組件被稱為重量級(jí)(Heavy Weight)組件,因?yàn)樗鼈兌紩?huì)大量使用系統(tǒng)資源。
    組件名稱有Frame(框架)、Button(按鈕)、Label(標(biāo)簽)等

    Swing: 基于AWT類構(gòu)建。
    幾乎所有的組件都用Java編寫,而且所有代碼都是Swing程序包的一部分。用Java語言編寫的組件稱為輕量級(jí)(Light Weight)組件。
    組件名稱都以J開頭,如JFrame、JButton、JLabel等。

    Swing程序包和AWT程序包都是Java基礎(chǔ)類(Java Foundation Class, JFC)中的一部分。

    補(bǔ)充說明:首先輕量級(jí)與重量級(jí)是一個(gè)相對(duì)的概念,主要是對(duì)應(yīng)用框架使用方便性和所提供服務(wù)特性等方面做比較的。
    輕量級(jí)組件都是純Java代碼開發(fā)的,具有良好的平臺(tái)移植性,不依賴于操作系統(tǒng)的支持,在所有的平臺(tái)上表現(xiàn)一樣,不直接使用操作系統(tǒng)的資源,
    當(dāng)然操作系統(tǒng)的資源依然是要占用的,只是系統(tǒng)資源的管理都由組件完成,使用組件的程序員不直接與操作系統(tǒng)的資源打交道。
    重量級(jí)組件則每個(gè)類都會(huì)與操作系統(tǒng)中的一個(gè)對(duì)等資源相對(duì)應(yīng)。

    10.4 Java中的事件處理機(jī)制(event-handling)
    事件處理器(event-handler)


    自測題:
    1。輕量級(jí)組件與重量級(jí)組件的不同。
    依賴于本地操作系統(tǒng)的組件被稱為重量級(jí)組件,因?yàn)樗鼈兌紩?huì)大量使用系統(tǒng)資源。
    全部使用Java語言編寫的組件稱為輕量級(jí)組件,它們透過AWT使用系統(tǒng)資源,不會(huì)直接管理系統(tǒng)資源。

    2。布局管理器的作用

    3。FlowLayout管理器與BorderLayout管理器的不同

    4。
    a)    JFrame組件的布局策略

    b)    JPanel組件的布局策略

    5。一個(gè)名為SomeClass的類具有兩個(gè)按鈕組件,這兩個(gè)按鈕組件被按下時(shí)將會(huì)采取特定的動(dòng)作。
    a)    必要的import語句。
    import java.awt.*;
    import java.awt.event.*;

    import javax.swing.*;

    b)    正確的頭部語句。
    public class SomeClass extends JFrame implements ActionListener

    c)    創(chuàng)建按鈕需要的Swing組件。
    JButton

    d)    對(duì)按鈕監(jiān)聽鼠標(biāo)單擊事件。
    button1.addActionListener(this);

    e)    哪個(gè)方法可以決定鼠標(biāo)單擊按鈕時(shí)采取行動(dòng)。
    public void actionPerformed(ActionEvent e)

    注: 實(shí)現(xiàn)可以參看PushMe.java

    編程練習(xí):代碼附件
    1.    PushMe.java    RunPushMe.java
    2.    ChangingFacesGUI.java   
    這個(gè)我用的是Swing Designer完成的界面設(shè)計(jì)+手工修改了部分代碼,
    優(yōu)點(diǎn):比原始版本簡潔
    缺點(diǎn):使用了anoynomous class,本書到這里還沒有講解;還用了enum類型,也是要到書的后面才講,這樣做就是為了更好的對(duì)比學(xué)習(xí)
    3.    MetricConverterGUI.java
    實(shí)現(xiàn)了攝氏溫度與華氏溫度的轉(zhuǎn)換
    最后加了兩個(gè)Panel是為了對(duì)齊前面的Panel
    4.    ReactorTesterGUI.java
    也是采用Swing Designer完成的界面設(shè)計(jì),還增加了MessageBox的使用。
     
    補(bǔ)充1:MessageBox需要一個(gè)父組件,而ReactorTesterGUI并沒有在構(gòu)造函數(shù)中實(shí)例化,所以不能使用。
    而能使用的是contentPane,這個(gè)是在構(gòu)造函數(shù)中實(shí)例化了,并且在使用之前已經(jīng)聲明了。
    父組件是為也確定MessageBox顯示的位置,結(jié)果是MessageBox會(huì)顯示在父組件的中間位置。
     
    補(bǔ)充2:因?yàn)镽eactorTesterGUI在構(gòu)造函數(shù)中是無法實(shí)例化的,所以生成的組件并沒有直接放在frame的panel中,而是放在contentPane中。
    contentPane是在ReactorTesterGUI的類中聲明了,再在構(gòu)造函數(shù)中用setContentPane(contentPane)來替換JFrame自己的rootPane。

    posted on 2016-08-30 21:38 zYx.Tom 閱讀(190) 評(píng)論(0)  編輯  收藏 所屬分類: 1.Java世界

    主站蜘蛛池模板: 亚洲va久久久噜噜噜久久狠狠| 亚洲?v无码国产在丝袜线观看| 久久久久无码精品亚洲日韩| 二个人看的www免费视频| 亚洲福利视频一区二区| 夜夜爽妓女8888视频免费观看| 免费a在线观看播放| 精品视频免费在线| 亚洲午夜精品第一区二区8050| 又硬又粗又长又爽免费看 | 亚洲三区在线观看无套内射| 一个人看的免费观看日本视频www 一个人看的免费视频www在线高清动漫 | 一级毛片免费全部播放| 国产亚洲精品资在线| 久久国产一片免费观看| 久久亚洲精品无码| 成人免费视频网站www| 亚洲色偷偷色噜噜狠狠99| 四虎永久免费地址在线观看| 人成免费在线视频| 久久精品国产精品亚洲艾| 免费三级毛片电影片| 国产青草亚洲香蕉精品久久| 亚洲综合色区在线观看| 热re99久久6国产精品免费| 久久亚洲精品无码网站| 久久久久久亚洲精品不卡| 国产精品免费一区二区三区四区| 亚洲综合色丁香麻豆| 国产精品成人免费综合| 久久国产一片免费观看| 亚洲香蕉在线观看| 国产午夜亚洲不卡| 又黄又爽又成人免费视频| 九九久久精品国产免费看小说| 久久99国产亚洲精品观看| 日韩中文字幕在线免费观看| 99精品免费视品| 亚洲国产AV一区二区三区四区| 夜夜春亚洲嫩草影院| 无码高潮少妇毛多水多水免费|