小博老師解析Java核心技術(shù) ——JSwing繪圖技術(shù)

[引言]

我們在學(xué)習(xí)Java編程的時(shí)候秽梅,如果需要開發(fā)客戶端窗體類型的程序权烧,可以使用JDK中的awt和swing庫仰禀。本文開始小博老師就繼續(xù)為大家演示Java窗體編程中的繪圖技術(shù)刊驴,今天主要講解繪圖技術(shù)的基本使用方式捐寥。

[步驟閱讀一]繪圖技術(shù)基礎(chǔ)知識

Java中的繪圖技術(shù)福贞,主要指的是通過代碼在界面中繪制圖形撩嚼,因?yàn)橛械臅r(shí)候我們需要的圖形并不是一成不變的,它可能隨著數(shù)據(jù)挖帘、時(shí)間完丽、環(huán)境等各類因素而隨時(shí)改變,比如驗(yàn)證碼拇舀、頭像截圖逻族、占比餅圖、數(shù)據(jù)柱狀圖骄崩、水印圖片等等場景聘鳞。因此我們不能在界面中顯示某張固定的現(xiàn)成圖片,而是要根據(jù)需要使用算法繪制一張臨時(shí)圖片要拂。

Java中的繪圖技術(shù)主要使用java.awt.Graphics類來實(shí)現(xiàn)抠璃,其中封裝了很多我們經(jīng)常需要使用的繪圖方法。

[步驟閱讀二]基本繪圖方法使用

在JSwing窗體中的各類控件脱惰,都擁有一個方法:

voidpaintComponent(Graphicsg)

這個方法是控件繪制界面時(shí)的調(diào)用方法搏嗡,其中參數(shù)Graphics就是界面?zhèn)鬟f過來的繪圖對象。我們可以在這個方法中利用繪圖對象繪制我們想要的圖形。

接下來小博老師就為大家演示一下繪制直線的方式采盒,核心代碼如下:

publicclassGraphicFrameextendsJFrame{

publicGraphicFrame(){

super("博為峰教育");

setBounds(200, 100, 600, 400);

setLayout(null);

// 實(shí)例化 自定義Panel派生類對象

panel=newBWFPanel();

panel.setBounds(0, 0, 585, 362);

add(panel);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

privateBWFPanelpanel;

}

publicclassBWFPanelextendsJPanel{

// 重寫 繪制界面方法

protectedvoidpaintComponent(Graphicsg) {

super.paintComponent(g);

// 設(shè)置 筆觸顏色

g.setColor(Color.RED);

// 繪制 直線

g.drawLine(0, 0, 100, 200);

}

}

實(shí)例化窗體對象并且運(yùn)行后旧乞,效果如下:

接下小博老師再給大家演示一下如何繪制矩形,核心代碼如下:

publicclassBWFPanelextendsJPanel{

// 重寫 繪制界面方法

protectedvoidpaintComponent(Graphicsg) {

super.paintComponent(g);

// 設(shè)置 筆觸顏色

g.setColor(Color.RED);

// 描邊 矩形

g.drawRect(50, 50, 200, 200);

// 填充 矩形

g.fillRect(280, 50, 200, 200);

}

}

實(shí)例化窗體對象并且運(yùn)行后磅氨,效果如下:

最后小博老師再給大家演示一下如何繪制圓形尺栖,核心代碼如下:

publicclassBWFPanelextendsJPanel{

// 重寫 繪制界面方法

protectedvoidpaintComponent(Graphicsg) {

super.paintComponent(g);

// 設(shè)置 筆觸顏色

g.setColor(Color.RED);

// 描邊 圓形

g.drawOval(50, 50, 200, 200);

// 填充 圓形

g.fillOval(280, 50, 200, 200);

}

}

實(shí)例化窗體對象并且運(yùn)行后,效果如下:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末烦租,一起剝皮案震驚了整個濱河市延赌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌左权,老刑警劉巖皮胡,帶你破解...
    沈念sama閱讀 211,423評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異赏迟,居然都是意外死亡屡贺,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,147評論 2 385
  • 文/潘曉璐 我一進(jìn)店門锌杀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來甩栈,“玉大人,你說我怎么就攤上這事糕再×棵唬” “怎么了?”我有些...
    開封第一講書人閱讀 157,019評論 0 348
  • 文/不壞的土叔 我叫張陵突想,是天一觀的道長殴蹄。 經(jīng)常有香客問我,道長猾担,這世上最難降的妖魔是什么袭灯? 我笑而不...
    開封第一講書人閱讀 56,443評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮绑嘹,結(jié)果婚禮上稽荧,老公的妹妹穿的比我還像新娘。我一直安慰自己工腋,他們只是感情好姨丈,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,535評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著擅腰,像睡著了一般蟋恬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上趁冈,一...
    開封第一講書人閱讀 49,798評論 1 290
  • 那天筋现,我揣著相機(jī)與錄音,去河邊找鬼箱歧。 笑死矾飞,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的呀邢。 我是一名探鬼主播洒沦,決...
    沈念sama閱讀 38,941評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼价淌!你這毒婦竟也來了申眼?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,704評論 0 266
  • 序言:老撾萬榮一對情侶失蹤蝉衣,失蹤者是張志新(化名)和其女友劉穎括尸,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體病毡,經(jīng)...
    沈念sama閱讀 44,152評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡濒翻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,494評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了啦膜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片有送。...
    茶點(diǎn)故事閱讀 38,629評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖僧家,靈堂內(nèi)的尸體忽然破棺而出雀摘,到底是詐尸還是另有隱情,我是刑警寧澤八拱,帶...
    沈念sama閱讀 34,295評論 4 329
  • 正文 年R本政府宣布阵赠,位于F島的核電站,受9級特大地震影響肌稻,放射性物質(zhì)發(fā)生泄漏清蚀。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,901評論 3 313
  • 文/蒙蒙 一灯萍、第九天 我趴在偏房一處隱蔽的房頂上張望轧铁。 院中可真熱鬧,春花似錦旦棉、人聲如沸齿风。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽救斑。三九已至,卻和暖如春真屯,著一層夾襖步出監(jiān)牢的瞬間脸候,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,978評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留运沦,地道東北人泵额。 一個月前我還...
    沈念sama閱讀 46,333評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像携添,于是被迫代替她去往敵國和親嫁盲。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,499評論 2 348

推薦閱讀更多精彩內(nèi)容