偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

淺談Swing和AWT構(gòu)件

開發(fā) 后端
本文簡單介紹Swing和AWT構(gòu)件,以及介紹AWT為JFC的構(gòu)成提供的的基本結(jié)構(gòu)和抽象窗口工具集等。

Java基本類

Java基本類 (JFC),由一些軟件包組成。這些軟件包主要包括下面一些應用程序接口(API):
◆抽象窗口工具集(AWT)(1.1及以上版本)。
◆Swing構(gòu)件。
◆Java2D應用程序接口(2D API)。
◆兼容程序接口。
上面列出的這些應用程序接口可能會出現(xiàn)在多個軟件包中。例如:2D API在Java.awt和 Java.awt.image軟件包中都存在,雖然像Java.awt.geom等一些特殊的軟件包也支持2D API,但 是大量的2D API類都存在于Java.awt軟件包中。

AWT(1.1及以上版本)是JFC的核心。AWT為JFC的構(gòu)成提供了以下的基本結(jié)構(gòu):
◆代理事件模型。
◆輕量構(gòu)件。
◆剪貼板和數(shù)據(jù)傳輸。
◆打印和無鼠標操作。

抽象窗口工具集

在開發(fā)applet和圖形應用程序時,一般需要用到AWT,AWT是免費Java開發(fā)工具包(JDK)的一部分。 AWT的作用是給用戶提供基本的界面構(gòu)件,例如按鈕、列表、菜單、文本域等等。AMT構(gòu)件主要是用來建立圖形用戶界面的獨立平臺。此外,AWT還提供事件處理結(jié)構(gòu)、支持剪貼板、數(shù)據(jù)傳輸和圖像操作。隨著2D API的出現(xiàn),AWT還包括提供高級字體操作、打印、地理數(shù)據(jù)獲取和輸入方法等功能的軟件包。AWT的初始版本是基于在簡單用戶界面中開發(fā)小applet 程序而設(shè)計的,與之相比,當前的AWT做了很大的改進,它提供事件模型重新設(shè)計、剪貼板和數(shù)據(jù)傳輸支持以及打印和無鼠標操作等功能。從而與Parc Place的VisualWork或Borland公司的Object Windows Library(OWL)等企業(yè)級用戶界面具有更多的可比性。

同位體和平臺獨立

隨著Applet程序和圖形應用程序接口的發(fā)展,AWT提供了一系列的通用類,這些通用類在引用時不需要考慮特定的窗口平臺,同位體(Peer)就屬于這種AWT類集。同位體是一種本地圖形用戶接口(GUI)構(gòu)件,由AWT類管理。同位體的工作方法和它們對程序開發(fā)的影響常
常讓人混淆。

AWT構(gòu)件中,包含有對其同位體的大量實用操作。例如,如果你使用AWT創(chuàng)建一個menu類的實例,那么當Java運行時系統(tǒng)將創(chuàng)建一個菜單同位體的實例,而由創(chuàng)建的同位體實際執(zhí)行菜單的顯示和管理。在創(chuàng)建菜單實例中,Solaris JDK將產(chǎn)生一個Motif菜單同位體;Windows 95將產(chǎn)生一個Windows 95菜單同位體;Macintosh JDK將產(chǎn)生一個Macintosh菜單同位體等等。

一個Java程序創(chuàng)建并顯示AWT構(gòu)件,AWT構(gòu)件創(chuàng)建并顯示本地構(gòu)件(同位體)。AWT開發(fā)組決定使用同位體方法,這一方法使得交叉平臺窗口工具開發(fā)變得極為迅速。使用同位體可以避免重新實現(xiàn)本地窗口構(gòu)件中已包含的實用工具,而且,使用同位體還能使applet和應用程序保留在本地系統(tǒng)中,這是因為同位體實質(zhì)上是由本地構(gòu)件組成的,而AWT類僅僅是同位體外圍的包裝與操作工具。

雖然在使用AWT時,很少需要直接處理同位體,但它們的存在卻影響其操作結(jié)果。例如,如果沒有同位體,則某些java.awt.Component方法不會象我們所預期的那樣進行工作。使用同位體方法可以在記錄時間內(nèi)實現(xiàn) GUI工具構(gòu)件。然而,使用同位體也有很多的缺點,同位體設(shè)計基礎(chǔ)存在缺陷并且不能縮放。

輕量構(gòu)件

AWT構(gòu)件全都是重量構(gòu)件,即它們都具有同位體,并且在本地 (不透明)窗口中進行顯示。這樣使用將花費昂貴的代價,而且在更改其默認行為時,不可以將其派生為子類。此外,它們必須是矩形的,而且不能有透明的背景。同位體可以快速產(chǎn)生一個GUI工具構(gòu)件。因為本地同位體做了更多的實際工作,而AWT
類所做的僅僅是表面工作,因此,它很容易開發(fā)。開發(fā)最初的AWT,只用了不到6個星期的時間。但這種效率帶的利益在很大程度上被一些不利因素抵銷了,比如基本的同位體結(jié)構(gòu)、有限的事件模式以及同位體與AWT之間不匹配造成的大量缺陷。

1.1版本的AWT引人了輕量構(gòu)件的概念。Swing構(gòu)件直接擴展了java.awt.Component或java.awt.Container。輕量構(gòu)件沒有同位體,在其重量容器窗口中顯示,而不是在其本身窗口中顯示。輕量構(gòu)件不會導致與它們自己關(guān)連的不透明窗口的性能損失,而且還可以有透明的背景。其中有透明背景的性能意味著即使Swing構(gòu)件的界限域?qū)嶋H上是矩形的,它也可以顯示為非矩形。

【編輯推薦】

  1. 介紹學習Swing AWT
  2. 透視Synth與Swing的外觀
  3. TikeSwing創(chuàng)建MVC體系結(jié)構(gòu)
  4. 對Java Swing經(jīng)驗的討論
  5. JFC和Swing中的JLabel組件
責任編輯:佚名 來源: 中國IT實驗室
相關(guān)推薦

2009-07-14 15:01:02

AWT和Swing

2009-07-17 11:13:46

AWT和SwingSwing組件

2009-07-16 13:37:33

Swing和AWT

2009-07-15 16:39:51

AWT和Swing

2009-07-10 17:03:17

AWT組件Swing組件

2009-07-14 17:38:20

Swing模式

2009-07-17 09:36:14

SWT和Swing的區(qū)

2009-07-17 10:11:55

AWT和Swing

2009-07-16 13:50:28

AWT和Swing

2009-07-17 15:30:30

JFaceAWT和SWTSwing

2009-07-17 09:07:20

2009-07-17 10:01:14

Swing和AWT

2009-07-14 12:58:49

AWT和Swing

2009-07-10 15:41:27

Swing AWT

2009-07-10 11:07:18

Swing和SWT

2009-07-14 15:12:36

SwingSWT和AWT

2009-07-16 16:01:55

EventQueue

2009-07-14 18:28:58

Swing入門

2009-07-15 13:06:38

Swing組件

2009-07-15 14:29:24

構(gòu)造JListSwing
點贊
收藏

51CTO技術(shù)棧公眾號