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