Java API 分類導覽 - java.awt.Canvas paint()

Canvas 類別 (class) 的 paint() 方法 (method) 用來畫圖。



修飾子與參數
public void paint(Graphics g)


paint() 沒有回傳值 (return value) ,需要 Graphics 型態 (type) 的物件 (object) 當參數 (paramenter) 。


舉例如下
import java.awt.*;
import java.awt.event.*;

public class CanvasDemo extends Canvas {
    public static void main(String[] args) {
        Frame frame = new Frame("AWTDemo");
        frame.addWindowListener(new AdapterDemo());
        frame.setSize(200, 220);
        
        CanvasDemo canvas = new CanvasDemo();
        frame.add(canvas, BorderLayout.CENTER);
        
        frame.setVisible(true);
    }
    
    public void paint(Graphics g) {
        g.drawRect(10, 10, 180, 180);
    }
}

class AdapterDemo extends WindowAdapter {
    public void windowClosing(WindowEvent e) {
        System.exit(0);
    }
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:CanvasDemo.java
    功能:示範 Java 程式 
    作者:張凱慶
    時間:西元 2012 年 3 月 */


此例的 CanvasDemo 繼承 Canvas
public class CanvasDemo extends Canvas {


然後改寫 paint() 方法,這裡在 CanvasDemo 中畫出一個正方形
public void paint(Graphics g) {
    g.drawRect(10, 10, 180, 180);
}


在 main() 中另外建立一個 Frame 物件,然後將 CanvasDemo 放入 Frame 之中,這樣顯示視窗就會直接畫出正方形
public static void main(String[] args) {
    Frame frame = new Frame("AWTDemo");
    frame.addWindowListener(new AdapterDemo());
    frame.setSize(200, 220);
        
    CanvasDemo canvas = new CanvasDemo();
    frame.add(canvas, BorderLayout.CENTER);
        
    frame.setVisible(true);
}


編譯後執行,結果如下



中英文術語對照
類別class
方法method
回傳值return value
型態type
物件object
參數parameter


您可以繼續參考
AWT 元件


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


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

沒有留言: