- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JPanel与Java绘图
JPanel與Java繪圖
1215
• 螢幕上的顯示畫面是由很多像素(Pixel )所組成,利用
這些像素的明暗度與色彩的配合,可以構成變化多端的文
字、圖形與影像
• Java.awt套件內Graphics類別可用來繪製圖形和顯示文
字,Image類別可用來進行影像的處理。
– 若要在螢幕上繪製文字,還可以指定字型、樣式、大
小…等格式來呈現文字的外貌。
• 在圖形使用介面(GUI )中的任何文字、圖形、影像,都
是由一點一點的像素所組成,而這些五顏六色的像素必須
有一塊畫板來顯示,也就是畫布,或者說是繪圖的環境
– Java提供了JFrame (視窗)或JPanel (容器)…等
元件當畫布
Graphics類別
• 用Java的Graphics類別來產生的繪圖物
件,可以在JFrame (視窗)上及JPanel
(容器)上繪圖
– import java.awt.* ;
– import javax.swing.* ;
– 使用到paint() 、getGraphics() 、
paintComponent()方法來取得Graphics類別
的繪圖物件,以進行繪製文字、線段、矩形、
橢圓、扇型、多邊形…等圖形。
以JFrame視窗為畫布
• 以JFrame (視窗)為畫布,整個視窗
內部範圍皆屬繪圖區的範圍
• paint()方法
– 使用paint()方法取得Graphics物件,可在
JFrame視窗上繪圖
– 顯示視窗時,系統會自動呼叫paint()方法取得
Graphics物件重新繪製圖形或文字
範例
• JFrame視窗的座標系統
– 在JFrame視窗上繪圖的座標系統,以視窗JFrame外
殼的左上角為座標原點(0, 0 ),而往右則X軸向正遞
增;往下則Y軸向正遞增,以像素為單位。
• getGraphics()方法
– getGraphics()方法取得Graphics物件
• 使用paint()方法時,系統會自動呼叫以取得
Graphics物件
範例
以JPanel容器為畫布
• 以JFrame視窗為畫布,繪圖區會是整個視窗,即視窗
有多大,畫布就有多大。
• 若改由JPanel容器當畫布,則可在視窗內取某一矩形範
圍做為畫布。
• paintComponent()方法
– 在JPanel容器上繪圖使用paintComponent()方法
– 顯示視窗或遇到repaint()敘述時,系統會自動呼叫
paintComponent()方法取得Graphics物件來重新繪製
圖形或文字
範例
getGraphics()方法
• 使用JPanel容器當畫布,要先建立JPanel類別的容器物
件,而要取得Graphics物件時,要用容器物
件.getGraphics() 方法建立取得。
範例
設定顏色與字形
• 設定顏色
– 螢幕的色彩由紅色(Red ),綠色(Green )與藍色
(Blue )所組成,簡稱RGB
– 這三種顏色的值0~255 ,數值越大越亮,越小越暗。
(0,0,0)為黑色,(255,255,255)為白色,不同的組成顯
示不同的顏色
– 顏色的設定,就需要Color類別
• Graphics物件的圖形可以用Color類別物件來設
定,其它的swing元件,如JFrame 、JPanel 、
JButton 、JLabel 、JTextField的背景色或文字標
題顏色,都可以套用Color類別物件
• Color(int r, int g, int b)
– 為Color類別的建構子,用來建立顏色物
文档评论(0)