• 沒有找到結果。

第一章 緒論

1.2 Java AWT介紹

1.2.2 Java AWT概要

來組成使用者介面。常見的 Component 有 Button、Label、Menu、

Window 等等。另外,程式設計師也可以根據 Component 來擴充功 能,建立自己的控制項。

‹ Layout:

Layout 是用來排列螢幕上的元件。如果沒有 Layout 來管理元件 的話,必須要使用絕對座標來決定位置。這點和 Java 平台的跨 平台特性有所衝突,因為不同平台的元件的樣子多少有差異,使 得程式在各個平台"看"起來不一樣。Layout 就是用來統一管理元 件大小與位置的方法。

‹ Container:

Container 是一種 Component,它提供一個矩形區域來放置其他 的 Component,而這些 Component 會受到 Container 所屬的 Layout 來管理。由於 Container 也是 Component,所以 Container 中可 以放置另外一個 Container。這種遞迴架構讓程式設計師可以做 到封裝細節的動作,建立更高層級物件。

‹ Event:

介紹完 Java AWT 的功能後,我們再看看.NET Windows Forms 有 那些功能。

1.3 .NET Windows Forms 介紹

Windows Forms 是在.NET Framework 平台上開發圖形使用者介面 的套件[9]。Windows Forms 取代了以前在 Windows 作業系統上開發圖 形使用者介面套件(MFC 或 Windows SDK),提供了更多、更方便的功 能給程式設計師使用。在 Windows Forms 的幫助下,程式設計師可以 完成建立視窗、使用控制項、繪圖、影像處理等等的工作。

1.3.1 .NET framework 平台介紹

.NET Framework 平台是由 Microsoft 公司在 2000 年所提出的,

是新一代在 Windows 上開發程式的標準。.NET Framework 平台具有 下列幾項特點[7][8]:

‹ 跨程式語言的開發環境。

‹ 更方便地移植應用程式到其他平台。

‹ 強大地與現有 Windows 程式(dll 和 COM 元件)的整合能力。

‹ 記憶體自動管理。

‹ 多執行序。

‹ 例外處理。

‹ 物件導向程式設計。

‹ 安全性。

我們再針對前三項在 Java 中沒有的特點加以說明。

首先,.NET Framework 支援許多的程式語言來開發應用程式,像 是 C#、VB.NET、J#、C++等等,因此程式設計師可以使用自己所熟悉 的語言來開發程式,不需要再學習新的語言。

此外,由於.NET Framework 將程式編譯成中繼碼,執行時再透過 虛擬機器來編譯的特性,故只要在非 Windows 的作業系統也安裝 CLR 的話,那麼用.NET Framework 開發的程式一樣可以執行。

因為.NET Framework 本來就是針對 Windows 所設計的,為了讓原 先程式設計師開發的程式能繼續被重複使用,所以提供很方便的方式 直接呼叫 dll 和 COM 元件所提供的函式。

接下來,來看看.NET Framework 的架構[11]:

圖 1-5、.NET 平台的架構圖

在這裡可以發現,.NET Framework 平台的架構和 Java 平台十分 類似。程式設計師使用 J#、C#等等語言開發程式,經過不同程式的 編譯器編譯後,產生 MSIL codes 中繼程式碼。MSIL codes 在執行時 透過.NET CLR 利用 JIT(Just-In-Time)編譯技術即時編譯成機器碼後 執行。

1.3.2 .NET Windows Forms 概要

Windows Forms 以 Windows 作業系統所提供 Win32 API 基礎,在 上面架上一層抽象層,讓程式設計師易於開發圖形使用者介面,不需 要瞭解 Win32 API 如何運作。雖然之前已經有 MFC、Visual Basic 等 類似的程式庫出現,但是它們各自有各自的開發語言,難以整合。而 Windows Forms 允許與不同語言來開發,讓程式的相容性更高。

Windows Forms 所提供的功能,可分成以下幾類[9][12]:

‹ Control:

Control 類似 AWT 中的 Component,是構成使用者介面的最基本 元件。Windows Forms 中常見的 Control 有 Button、Label、Form、

Panels 等。

‹ Container:

Container 類似 AWT 中的 Container,可在其中放置 Control,達 到封裝的效果。不過在 Windows Forms 中,Container 不使用 Layout 管理放置在裡面的 Control,而是以絕對座標來定位。

‹ Event:

Windows Forms 和 AWT 一樣採用事件驅動模式。當事件發生時,

Windows Forms 會把事件傳給對此事件有興趣的程式來執行。

‹ Drawing and Graphics:

Windows Forms 中提供 GDI+程式庫,讓程式設計師可以繪製許多 基本圖形(線、矩形、多邊形),以及做影像處理(縮放、變形)的 工作。

‹ Data Binding:

Control 中的每個屬性(大小、位置)可透過資料繫結的方式設 定,資料的來源可以是值的陣列或是存放在資料庫中的資料。

Windows Forms 會自動從資料來源抓取資料,設定該 Control 的 屬性值。

相關文件