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