成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

JAVA教程 第五講 AWT圖形用戶界面設計(一)

瀏覽:2日期:2024-03-06 10:36:48

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

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

5.1.1 java.awt包

java.awt包中提供了GUI設計所使用的類和接口,可從圖5.1中看到主要類之間的關系。

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

組件--Component

容器--Container

布局管理器--LayoutManager

5.1.2 組件和容器

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

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

 getComponentAt(int x, int y)

 getFont()

 getForeground()

 getName()

 getSize()

 paint(Graphics g)

 repaint()

 update()

 setVisible(boolean b)

 setSize(Dimension d)

 setName(String name)等

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

布局管理器(LayoutManager):每個容器都有一個布局管理器,當容器需要對某個組件進行定位或判斷其大小尺寸時,就會調用其對應的布局管理器。

為了使我們生成的圖形用戶界面具有良好的平臺無關性,Java語言中,提供了布局管理器這個工具來管理組件在容器中的布局,而不使用直接設置組件位置和大小的方式。

在程序中安排組件的位置和大小時,應該注意以下兩點:

1.容器中的布局管理器負責各個組件的大小和位置,因此用戶無法在這種情況下設置組件的這些屬性。如果試圖使用Java 語言提供的setLocation(),setSize(),setBounds() 等方法,則都會被布局管理器覆蓋。

2.如果用戶確實需要親自設置組件大小或位置,則應取消該容器的布局管理器,方法為:

 setLayout(null);

5.1.3 常用容器

容器java.awt.Container是Component的子類,一個容器可以容納多個組件,并使它們成為一個整體。容器可以簡化圖形化界面的設計,以整體結構來布置界面。所有的容器都可以通過add()方法向容器中添加組件。

有三種類型的容器:Window、Panel、ScrollPane,常用的有Panel, Frame, Applet。

1.Frame

以下是容器的例子:

例5.1

import java.awt.*;

public class MyFrame extends Frame{

public static void main(String args[ ]){

MyFrame fr = new MyFrame('Hello Out There!');

 //構造方法

fr.setSize(200,200);

//設置Frame的大小,缺省為(0,0)

fr.setBackground(Color.red);

//設置Frame的背景,缺省為紅色

fr.setVisible(true);

//設置Frame為可見,缺省為不可見

}

 public MyFrame (String str){

super(str); //調用父類的構造方法

 }

}

一般我們要生成一個窗口,通常是用Window的子類Frame來進行實例化,而不是直接用到Window類。Frame的外觀就像我們平常在windows系統下見到的窗口,有標題、邊框、菜單、大小等等。每個Frame的對象實例化以后,都是沒有大小和不可見的,因此必須調用setSize( )來設置大小,調用setVisible(true)來設置該窗口為可見的。

另外,AWT在實際的運行過程中是調用所在平臺的圖形系統,因此同樣一段AWT程序在不同的操作系統平臺下運行所看到的圖形系統是不一樣的。例如在windows下運行,則顯示的窗口是windows風格的窗口;而在UNIX下運行時,則顯示的是UNIX風格的窗口。

2. Panel

例5.2

import java.awt.*;

public class FrameWithPanel extends Frame{

public FrameWithPanel(String str){

super(str);

  }

  public static void main(String args[]){

FrameWithPanel fr = new FrameWithPanel('Frame with Panel');

Panel pan=new Panel();

fr.setSize(200,200);

fr.setBackground(Color.red);

 //框架fr的背景顏色設置為紅色

fr.setLayout(null);

 //取消布局管理器

pan.setSize(100,100);

pan.setBackground(Color.yellow);

 //設置面板pan的背景顏色為黃色

fr.add(pan); //用add方法把面板pan添加到框架fr中

fr.setVisible(true);

}

}

一般我們要生成一個窗口,通常是用Window的子類Frame來進行實例化,而不是直接用到Window類。Frame的外觀就像我們平常在windows系統下見到的窗口,有標題、邊框、菜單、大小等等。每個Frame的對象實例化以后,都是沒有大小和不可見的,因此必須調用setSize( )來設置大小,調用setVisible(true)來設置該窗口為可見的。

另外,AWT在實際的運行過程中是調用所在平臺的圖形系統,因此同樣一段AWT程序在不同的操作系統平臺下運行所看到的圖形系統是不一樣的。例如在windows下運行,則顯示的窗口是windows風格的窗口;而在UNIX下運行時,則顯示的是UNIX風格的窗口。

標簽: Java
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国产亚洲精品精华液| 日韩影院在线观看| 蜜桃视频在线观看一区| 国产精品一区二区欧美| 亚洲视频资源在线| 狠狠色综合网站久久久久久久| 精品福利二区三区| 国产乱人伦偷精品视频不卡 | 亚洲一区二区三区小说| 在线观看日韩av电影| 亚洲欧洲日产国码二区| 欧美理论在线| 中文字幕免费不卡在线| 牛牛国产精品| 久久久国产精品不卡| 波多野结衣在线一区| 日韩欧美亚洲国产精品字幕久久久| 蜜桃av一区二区三区| 色老汉一区二区三区| 美女网站色91| 欧美日韩一区二区在线观看视频| 久久成人免费电影| 欧美视频在线观看一区二区| 另类综合日韩欧美亚洲| 欧美四级电影在线观看| 久久疯狂做爰流白浆xx| 欧美丰满少妇xxxbbb| 国产精品99久久久久久久女警 | 国产成人综合在线观看| 欧美电影免费观看完整版| 国产99久久久精品| 久久久蜜桃精品| 国产综合激情| 一区二区国产视频| 国产亚洲欧洲| 日本午夜一本久久久综合| 在线日韩国产精品| 国产一区不卡在线| 精品国产乱码久久久久久蜜臀 | 日韩电影一二三区| 欧美丰满一区二区免费视频| 成人性色生活片免费看爆迷你毛片| 精品国产乱码久久久久久蜜臀| 欧美va天堂在线| 亚洲欧美另类综合偷拍| 久久xxxx精品视频| 美日韩黄色大片| 制服丝袜中文字幕亚洲| 99久久精品国产一区二区三区 | 国产精品久久久亚洲一区| 人禽交欧美网站| 欧美一区二区三区四区五区 | 久久国产精品一区二区三区四区| 全国精品久久少妇| 欧美一区二区三区四区在线观看| 欧美一区免费视频| 一区二区三区91| 久久在线91| 国产99久久精品| 欧美高清在线视频| 免费一区二区三区| 精品一区二区三区视频| 日韩精品一区二区三区四区视频| 欧美日韩亚洲一区二区三区在线观看| 一区二区三区欧美视频| 欧美视频一区在线| 99久久伊人久久99| 亚洲自拍都市欧美小说| 欧美日韩激情一区| 91蜜桃在线观看| 亚洲国产精品一区二区久久 | 国产精品电影院| 久久久久久久久久久久久久一区 | 91成人免费电影| 成人免费视频一区| 亚洲欧洲av一区二区三区久久| 亚洲欧美成人| 国产乱国产乱300精品| 国产日韩欧美一区二区三区乱码| 亚洲一区综合| 国产精品一区三区| 亚洲欧美在线aaa| 91福利视频网站| 欧美成人一品| 欧美a一区二区| 国产网站一区二区三区| 久久久久久九九九九| www.色精品| 五月天激情综合| 国产亚洲一二三区| 色婷婷精品久久二区二区蜜臀av | 欧美精品99| 五月天一区二区三区| 欧美大片国产精品| 性色一区二区三区| 欧美一区二区三区久久精品茉莉花 | 久久性色av| 午夜激情一区| 久久精品国产精品亚洲精品| 国产精品理论片在线观看| 欧美亚洲国产一区二区三区va | 亚洲乱码国产乱码精品精小说| 欧美日韩国产首页| 99re热精品| 不卡一二三区首页| 日韩高清不卡一区二区三区| 久久久国产综合精品女国产盗摄| 一本色道久久加勒比精品| 91色婷婷久久久久合中文| 日韩和欧美一区二区| 国产香蕉久久精品综合网| 91久久国产综合久久| 一区精品久久| 丁香亚洲综合激情啪啪综合| 午夜激情一区二区三区| 国产欧美精品在线观看| 欧美日本精品一区二区三区| 亚洲日韩视频| 暴力调教一区二区三区| 蜜桃久久精品一区二区| 一区二区三区欧美日韩| 国产香蕉久久精品综合网| 欧美日韩视频专区在线播放| 国产情侣久久| 91看片淫黄大片一级在线观看| 极品尤物av久久免费看| 亚洲国产中文字幕在线视频综合 | 欧美日韩一级黄| 亚洲一区三区视频在线观看| 91免费视频网| 国产jizzjizz一区二区| 免费一区二区视频| 一级精品视频在线观看宜春院 | 欧美高清hd18日本| 免费在线一区二区| 国产精品s色| 成人午夜激情片| 另类成人小视频在线| 亚洲成av人片一区二区| 亚洲同性gay激情无套| 久久久噜噜噜久噜久久综合| 欧美日韩www| 久久人人九九| 在线精品一区| 欧美另类一区| 国产成a人亚洲精品| 麻豆一区二区在线| 午夜激情综合网| 亚洲黄色录像片| 国产精品欧美一区喷水| 久久网这里都是精品| 7777精品伊人久久久大香线蕉完整版 | 成+人+亚洲+综合天堂| 国产在线精品视频| 男男视频亚洲欧美| 亚洲制服欧美中文字幕中文字幕| 中文字幕一区二区日韩精品绯色| 欧美精品一区二区三区很污很色的| 欧美日本在线观看| 欧美午夜免费电影| 欧洲一区二区三区在线| 久久激情一区| 久久精品主播| 久久久久国产精品午夜一区| 国产精品毛片| 久久福利毛片| 另类av一区二区| 国产一区二区三区黄| 一色屋精品视频在线看| 色综合久久综合网欧美综合网| 99久久精品久久久久久清纯| 成人不卡免费av| 成人短视频下载| 99久久精品免费精品国产| 99精品视频在线观看| www.欧美色图| 99国产一区二区三精品乱码| 91一区二区在线观看| 欧美在线精品一区| 欧美chengren| 一区二区亚洲精品| 99精品国产福利在线观看免费| 亚洲人人精品| 免费国产一区二区| 一本一道久久a久久精品 | 中文字幕欧美区| 中文一区二区在线观看| 国产精品色哟哟网站| 亚洲欧洲无码一区二区三区| 日韩美女视频19| 亚洲激情图片qvod| 亚欧色一区w666天堂| 日本亚洲电影天堂| 精品亚洲porn| 成人少妇影院yyyy| 欧美精品一卡| 亚洲欧洲视频| 久久国产精品一区二区三区四区| 老司机精品福利视频| 欧美日韩三级一区二区|