[引言]
我們在學(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)行后,效果如下: