點(diǎn)擊查看:2015計算機(jī)等級考試二級Java入門教程章節(jié)匯總
點(diǎn)擊查看:2015計算機(jī)等級考試二級Java入門教程第十四章匯總
14.2 組件中的坐標(biāo)系統(tǒng)
在第11章中,我們看到了計算機(jī)屏幕擁有坐標(biāo)系統(tǒng),它被用來定義窗口的位置和尺寸。我們還看到了如何把組件添加到容器中。布局管理器創(chuàng)建的位置上。這個坐標(biāo)系統(tǒng)類似屏幕坐標(biāo)系統(tǒng)。原點(diǎn)在容器的左上角,x軸的水平方向從左向右,Y軸從上到下。 JWirindow或JFrame對象中的按鈕位置用一對(x,y)像素坐標(biāo)指定。這個坐標(biāo)相對于屏幕上容器對象的左上角原點(diǎn)。下面你可以看到Stetcher應(yīng)用程序窗口的坐標(biāo)系統(tǒng)。
當(dāng)然,對于窗口對象,窗口的層級窗格擁有自己的坐標(biāo)系統(tǒng),其原點(diǎn)在窗格的左上角。這個坐標(biāo)系用來決定菜單和內(nèi)容窗格的位置。內(nèi)容窗格也擁有自己的坐標(biāo)系統(tǒng)。它被用來決定它所包含的組件位置。
不只是容器和窗口擁有自己的坐標(biāo)系統(tǒng),每個JButton對象也有自己的系統(tǒng),比如JToolbar對象。實際上每個組件都擁有自己的坐標(biāo)系統(tǒng)。
很清楚,容器為了指定它所包含的組件位置需要一個坐標(biāo)系統(tǒng)。你也需要一個坐標(biāo)系統(tǒng)來繪制組件。例如,繪制一條直線。你需要能夠指定組件相關(guān)的起始位置和結(jié)束位置,這里的坐標(biāo)系統(tǒng)類似于容器中放置組件所應(yīng)用的坐標(biāo)系統(tǒng),但并不完全一樣。在繪圖時顯得要復(fù)雜些。比我們看一看在繪圖時坐標(biāo)系統(tǒng)是如何制定的。
Graphics2D類是從Graphics類派生來的,它定義了Java早期版本的設(shè)備環(huán)境。因此如果你希望使用舊的繪制方法,就繼承Graphics2D類中的所有內(nèi)容。但是,我們將注重Graphics2D提供的新的更加強(qiáng)大和更加靈活的功能。正像你將要看到的,圖形設(shè)備環(huán)境的引用通常作為Graphic2D類型傳遞,因此你需要知道它。注意,Graphics和Graphics2D這兩個類是抽象類,你不能直接地建立這兩種類的對象。描述圖形設(shè)備環(huán)境的對象完全取決于與之相關(guān)的組件,因此,為使用特定的組件,常常要獲取圖形設(shè)備環(huán)境。
組件的Graphics2D對象要將用戶坐標(biāo)鏡像到設(shè)各坐標(biāo),因此,除了組件的用戶坐標(biāo)之外,它還包含了有關(guān)輸出的目標(biāo)設(shè)備的信息。把用戶坐標(biāo)轉(zhuǎn)換成設(shè)各坐標(biāo)所需信息被包含在三種不同類型的對象中:
GraphicsEnvirnment對象囊括了所有的圖形設(shè)備(像GraphicsDevice對象)和你的計算機(jī)可用的字體(像Font對象).
GraphicsDevice對象囊括了有關(guān)屏幕或打印機(jī)這些特定設(shè)各的信息,并存儲在一個或多個GraphicsConfiguration對象中。
GraphicsConfiguration對象定義了屏幕或打印機(jī)這樣的特定設(shè)備的特性。顯示器屏幕可有幾個GraphicsConfiguration對象與之關(guān)聯(lián),每個GraphicaConfiguration對應(yīng)一個特定的屏幕分辨率和可顯示的顏色數(shù)組合。
圖形設(shè)備環(huán)境還維護(hù)著繪圖操作所需要的其他信息,如繪圖顏色、線型以及對幾個圖形填充的顏色和圖案。我們將在木章稍后的例子中看到如何利用這些屬性進(jìn)行操作。
相關(guān)推薦:
2015計算機(jī)等級考試二級Java入門教程章節(jié)匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |