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

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

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

    隨筆 - 71  文章 - 15  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    因?yàn)榭诳剩系蹌?chuàng)造了水;
    因?yàn)楹诎担系蹌?chuàng)造了火;
    因?yàn)槲倚枰笥眩陨系圩屇銇?lái)到我身邊
    Click for Shaanxi xi'an, Shaanxi Forecast
    ╱◥█◣
      |田|田|
    ╬╬╬╬╬╬╬╬╬╬╬
    If only I have such a house!
    〖總在爬山 所以艱辛〗
    Email:myesjoy@yahoo.com.cn
    NickName:yesjoy
    MSN:myesjoy@hotmail.com
    QQ:150230516

    〖總在尋夢(mèng) 所以苦痛〗

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    Hibernate在線

    Java友情

    Java認(rèn)證

    linux經(jīng)典

    OA系統(tǒng)

    Spring在線

    Structs在線

    專家專欄

    企業(yè)信息化

    大型設(shè)備共享系統(tǒng)

    工作流

    工作流產(chǎn)品

    網(wǎng)上購(gòu)書(shū)

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    1 用AWT生成圖形化用戶界面

     
    抽象窗口工具包AWT (Abstract Window Toolkit) 是 API為Java 程序提供的建立圖形用戶界面GUI (Graphics User Interface)工具集,AWT可用于Java的applet和applications中。它支持圖形用戶界面編程的功能包括: 用戶界面組件;事件處理模型;圖形和圖像工具,包括形狀、顏色和字體類;布局管理器,可以進(jìn)行靈活的窗口布局而與特定窗口的尺寸和屏幕分辨率無(wú)關(guān);數(shù)據(jù)傳送類,可以通過(guò)本地平臺(tái)的剪貼板來(lái)進(jìn)行剪切和粘貼。

    1.1 java.awt包
     
      java.awt包中提供了GUI設(shè)計(jì)所使用的類和接口,可從下圖中看到主要類之間的關(guān)系。


      java.awt包提供了基本的java程序的GUI設(shè)計(jì)工具。主要包括下述三個(gè)概念:

      組件--Component
      容器--Container
      布局管理器--LayoutManager

    1.2 組件和容器

      Java的圖形用戶界面的最基本組成部分是組件(Component),組件是一個(gè)可以以圖形化的方式顯示在屏幕上并能與用戶進(jìn)行交互的對(duì)象,例如一個(gè)按鈕,一個(gè)標(biāo)簽等。組件不能獨(dú)立地顯示出來(lái),必須將組件放在一定的容器中才可以顯示出來(lái)。

      類java.awt.Component是許多組件類的父類,Component類中封裝了組件通用的方法和屬性,如圖形的組件對(duì)象、大小、顯示位置、前景色和背景色、邊界、可見(jiàn)性等,因此許多組件類也就繼承了Component類的成員方法和成員變量,相應(yīng)的成員方法包括:

       getComponentAt(int x, int y)
       getFont()
       getForeground()
       getName()
       getSize()
       paint(Graphics g)
       repaint()
       update()
       setVisible(boolean b)
       setSize(Dimension d)
       setName(String name)等

      
      容器(Container)也是一個(gè)類,實(shí)際上是Component的子類,因此容器本身也是一個(gè)組件,具有組件的所有性質(zhì),但是它的主要功能是容納其它組件和容器。

      布局管理器(LayoutManager):每個(gè)容器都有一個(gè)布局管理器,當(dāng)容器需要對(duì)某個(gè)組件進(jìn)行定位或判斷其大小尺寸時(shí),就會(huì)調(diào)用其對(duì)應(yīng)的布局管理器。

      為了使我們生成的圖形用戶界面具有良好的平臺(tái)無(wú)關(guān)性,Java語(yǔ)言中,提供了布局管理器這個(gè)工具來(lái)管理組件在容器中的布局,而不使用直接設(shè)置組件位置和大小的方式。

      在程序中安排組件的位置和大小時(shí),應(yīng)該注意以下兩點(diǎn):
      1.容器中的布局管理器負(fù)責(zé)各個(gè)組件的大小和位置,因此用戶無(wú)法在這種情況下設(shè)置組件的這些屬性。如果試圖使用Java 語(yǔ)言提供的setLocation(),setSize(),setBounds() 等方法,則都會(huì)被布局管理器覆蓋。

      2.如果用戶確實(shí)需要親自設(shè)置組件大小或位置,則應(yīng)取消該容器的布局管理器,方法為:
       setLayout(null);

    1.3 常用容器

      容器java.awt.Container是Component的子類,一個(gè)容器可以容納多個(gè)組件,并使它們成為一個(gè)整體。容器可以簡(jiǎn)化圖形化界面的設(shè)計(jì),以整體結(jié)構(gòu)來(lái)布置界面。所有的容器都可以通過(guò)add()方法向容器中添加組件。
    有三種類型的容器:Window、Panel、ScrollPane,常用的有Panel, Frame, Applet。
    1.Frame

      
    以下是容器的例子:
    例1

     1 import java.awt.*;
     2 public class MyFrame extends Frame{
     3  public static void main(String args[ ]){
     4   MyFrame fr = new MyFrame("Hello Out There!");//構(gòu)造方法
     5   fr.setSize(200,200);//設(shè)置Frame的大小,缺省為(0,0)
     6   fr.setBackground(Color.red);//設(shè)置Frame的背景,缺省為紅色
     7   fr.setVisible(true);//設(shè)置Frame為可見(jiàn),缺省為不可見(jiàn)
     8  }
     9  public MyFrame (String str){
    10   super(str);//調(diào)用父類的構(gòu)造方法
    11  }
    12 }

    運(yùn)行結(jié)果如下:

    2. Panel

      
    例2
     1 import java.awt.*;
     2 public class FrameWithPanel extends Frame{
     3  public FrameWithPanel(String str){
     4   super(str);
     5  }
     6  public static void main(String args[]){
     7   FrameWithPanel fr = new FrameWithPanel("Frame with Panel");
     8   Panel pan=new Panel();
     9   fr.setSize(200,200);
    10   fr.setBackground(Color.red);//框架fr的背景顏色設(shè)置為紅色
    11   fr.setLayout(null);//取消布局管理器
    12   pan.setSize(100,100);
    13   pan.setBackground(Color.yellow);//設(shè)置面板pan的背景顏色為黃色
    14   fr.add(pan);//用add方法把面板pan添加到框架fr中
    15   fr.setVisible(true);
    16  }
    17 }
    運(yùn)行結(jié)果如下:
    posted on 2006-01-21 18:10 ★yesjoy★ 閱讀(1200) 評(píng)論(0)  編輯  收藏 所屬分類: java.awt包
    主站蜘蛛池模板: 久久亚洲精品无码gv| 免费a级毛片无码a∨性按摩| 成在线人直播免费视频| 久久久久精品国产亚洲AV无码| 久久精品国产亚洲Aⅴ香蕉| 午夜电影免费观看| 久久国产免费福利永久| 人人揉揉香蕉大免费不卡| 永久免费无码日韩视频| 亚洲AV无码一区二区乱子仑 | 日韩在线观看免费完整版视频| 亚洲偷自精品三十六区| 亚洲色图综合网站| 亚洲av无码不卡| 亚洲无人区一区二区三区| 亚洲精品天堂成人片?V在线播放| 在线A级毛片无码免费真人| 91免费国产在线观看| 亚洲最大免费视频网| 99精品视频在线观看免费专区| 久久国产乱子伦精品免费强| 中文字幕免费在线视频| 中文字幕免费观看视频| 免费人成在线观看视频高潮| 久久国产免费直播| a级毛片免费播放| a视频在线免费观看| 国产免费无码一区二区| 日本在线免费观看| 性色午夜视频免费男人的天堂| 一级做a爰全过程免费视频| 久久免费精彩视频| 日韩人妻无码精品久久免费一| 无码精品国产一区二区三区免费| 国产猛男猛女超爽免费视频| 人人玩人人添人人澡免费| 久久国产乱子免费精品| 啦啦啦完整版免费视频在线观看| 91精品成人免费国产片| 国产日本一线在线观看免费| 免费一本色道久久一区|