javascript
小博老师解析Java核心技术 ——JSwing绘图技术
2019獨角獸企業重金招聘Python工程師標準>>>
[引言]
我們在學習Java編程的時候,如果需要開發客戶端窗體類型的程序,可以使用JDK中的awt和swing庫。本文開始小博老師就繼續為大家演示Java窗體編程中的繪圖技術,今天主要講解繪圖技術的基本使用方式。
?
[步驟閱讀一]繪圖技術基礎知識
Java中的繪圖技術,主要指的是通過代碼在界面中繪制圖形,因為有的時候我們需要的圖形并不是一成不變的,它可能隨著數據、時間、環境等各類因素而隨時改變,比如驗證碼、頭像截圖、占比餅圖、數據柱狀圖、水印圖片等等場景。因此我們不能在界面中顯示某張固定的現成圖片,而是要根據需要使用算法繪制一張臨時圖片。
Java中的繪圖技術主要使用java.awt.Graphics類來實現,其中封裝了很多我們經常需要使用的繪圖方法。
[步驟閱讀二]基本繪圖方法使用
在JSwing窗體中的各類控件,都擁有一個方法:
void?paintComponent(Graphics?g)
這個方法是控件繪制界面時的調用方法,其中參數Graphics就是界面傳遞過來的繪圖對象。我們可以在這個方法中利用繪圖對象繪制我們想要的圖形。
接下來小博老師就為大家演示一下繪制直線的方式,核心代碼如下:
public?class?GraphicFrame?extends?JFrame{
public?GraphicFrame(){
super("博為峰教育");
setBounds(200, 100, 600, 400);
setLayout(null);
// 實例化 自定義Panel派生類對象
panel?=?new?BWFPanel();
panel.setBounds(0, 0, 585, 362);
add(panel);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private?BWFPanel?panel;
}
?
public?class?BWFPanel?extends?JPanel{
// 重寫 繪制界面方法
protected?void?paintComponent(Graphics?g) {
super.paintComponent(g);
// 設置 筆觸顏色
g.setColor(Color.RED);
// 繪制 直線
g.drawLine(0, 0, 100, 200);
}
}
實例化窗體對象并且運行后,效果如下:
接下小博老師再給大家演示一下如何繪制矩形,核心代碼如下:
public?class?BWFPanel?extends?JPanel{
// 重寫 繪制界面方法
protected?void?paintComponent(Graphics?g) {
super.paintComponent(g);
// 設置 筆觸顏色
g.setColor(Color.RED);
// 描邊 矩形
g.drawRect(50, 50, 200, 200);
// 填充 矩形
g.fillRect(280, 50, 200, 200);
}
}
?
實例化窗體對象并且運行后,效果如下:
最后小博老師再給大家演示一下如何繪制圓形,核心代碼如下:
public?class?BWFPanel?extends?JPanel{
// 重寫 繪制界面方法
protected?void?paintComponent(Graphics?g) {
super.paintComponent(g);
// 設置 筆觸顏色
g.setColor(Color.RED);
// 描邊 圓形
g.drawOval(50, 50, 200, 200);
// 填充 圓形
g.fillOval(280, 50, 200, 200);
}
}
?
實例化窗體對象并且運行后,效果如下:
轉載于:https://my.oschina.net/u/2971691/blog/819495
總結
以上是生活随笔為你收集整理的小博老师解析Java核心技术 ——JSwing绘图技术的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Git 简单命令行指令
- 下一篇: python 抓包基于pypcap