Java API 分類導覽 - java.awt.Graphics finalize()

Graphics 類別 (class) 的 finalize() 方法 (method) 不再繼續繪圖時,釋放系統資源。



修飾子與參數
public abstract void finalize()


finalize() 沒有回傳值 (return value) ,也不需要參數 (paramenter) 。


舉例如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import java.awt.*;
import java.awt.event.*;
 
public class GraphicsDemo28 extends Canvas {
    public static void main(String[] args) {
        Frame frame = new Frame("AWTDemo");
        frame.addWindowListener(new AdapterDemo());
        frame.setSize(200, 220);
         
        GraphicsDemo28 canvas = new GraphicsDemo28();
        frame.add(canvas, BorderLayout.CENTER);
         
        frame.setVisible(true);
    }
     
    public void paint(Graphics g) {
        g.setColor(Color.RED);
        g.fillRect(10, 10, 100, 100);
        g.finalize();
        g.setColor(Color.GREEN);
        g.fillRect(30, 30, 100, 100);
        g.setColor(Color.BLUE);
        g.fillRect(50, 50, 100, 100);
    }   
}
 
class AdapterDemo extends WindowAdapter {
    public void windowClosing(WindowEvent e) {
        System.exit(0);
    }
}
 
/* 《程式語言教學誌》的範例程式
    檔名:GraphicsDemo28.java
    功能:示範 Java 程式
    作者:張凱慶
    時間:西元 2012 年 3 月 */


此例在 paint() 方法中畫圖,依序呼叫 Graphics 的 setColor() 與 fillRect() 畫出一個紅色、綠色及藍色正方形
16
17
18
19
20
21
22
23
24
public void paint(Graphics g) {
    g.setColor(Color.RED);
    g.fillRect(10, 10, 100, 100);
    g.finalize();
    g.setColor(Color.GREEN);
    g.fillRect(30, 30, 100, 100);
    g.setColor(Color.BLUE);
    g.fillRect(50, 50, 100, 100);
}


畫出紅色正方形之後就呼叫 finalize() ,由於底下繼續畫綠色與藍色正方形,最後會畫出三個正方形。


編譯後執行,結果如下



中英文術語對照
類別class
方法method
回傳值return value
參數parameter


您可以繼續參考
繪圖


相關目錄
Java API 分類導覽
Java 教材
首頁


參考資料
http://docs.oracle.com/javase/6/docs/api/java/awt/Graphics.html

沒有留言: