99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

卷1:第22章 Violet

2018-02-24 15:55 更新

作者:Cay Horstmann
譯者:Xiao Jia(賈梟)

2002 年,我寫了一本關(guān)于面向?qū)ο笤O(shè)計與模式的本科教材 [Hor05]。和很多書一樣,這本書也源于我對經(jīng)典課程的沮喪。一般來說,計算機科學(xué)專業(yè)的學(xué)生,會在他們的第一門編程課上,學(xué)習(xí)如何設(shè)計一個獨立的類。而此后,直到在高年級的軟件工程課中,他們才在面向?qū)ο笤O(shè)計方面接受更多的訓(xùn)練。在這門課程中,學(xué)生在幾個星期內(nèi)匆忙地學(xué)習(xí) UML 和設(shè)計模式,最終也只是走馬觀花。我寫的這本書是為一個學(xué)期的課程準(zhǔn)備的,學(xué)生需要具備一些 Java 編程和基本數(shù)據(jù)結(jié)構(gòu)的知識(通常這些知識來自基于 Java 的 CS1 或 CS2 課程安排)。這本書在學(xué)生所熟悉的上下文中涵蓋了面向?qū)ο笤O(shè)計原則和設(shè)計模式的內(nèi)容。比如用 Swing 里面的?JScrollPane?類來介紹修飾模式(Decorator Pattern),目的是希望這個例子比經(jīng)典的 Java 流的例子①更容易讓人記住。

① 譯者注:如?FileInputStream?和?BufferedInputStream?等。

Ald02] 和 JUNG ?。然而,這些框架都相當(dāng)復(fù)雜,提供的也只是“用來繪制圖形”的框架,而不是“用來繪制圖形的應(yīng)用程序”的框架。

??http://jung.sourceforge.net

22.3. JavaBeans 屬性的使用

在客戶端 Java 的鼎盛時期,人們制定了 JavaBeans 規(guī)范,用來給在可視化 GUI 設(shè)計環(huán)境里編輯 GUI 組件提供可移植的機制。其目的是為了讓一個第三方的 GUI 組件可以放在任意的 GUI 設(shè)計器中,并且它的屬性可以像按鈕、文本等標(biāo)準(zhǔn)組件一樣進(jìn)行設(shè)置。

Java 語言本身沒有對屬性的原生支持。JavaBeans 屬性可以從成對的 getter 和 setter 方法中發(fā)現(xiàn)出來,或者通過相應(yīng)的?BeanInfo?類指定。進(jìn)一步地,可以指定?屬性編輯器?來可視化地編輯屬性的值。JDK 甚至包含了一些基本的屬性編輯器,比如用來編輯?java.awt.Color?類型的編輯器。

Violet 框架充分利用了 JavaBeans 規(guī)范。比如,CircleNode?類可以通過提供如下兩個方法,來暴露出顏色這一屬性:

public void setColor(Color newValue)
public Color getColor()

現(xiàn)在,不需要任何額外的工作,這個圖形編輯器就能編輯圓圈節(jié)點的顏色了(參見圖 22.5)。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號