Java API 分類導覽 - java.awt.Graphics2D rotate()

Graphics2D 類別 (class) 的 rotate() 方法 (method) 用來旋轉圖形。



修飾子與參數
public abstract void rotate(double theta)
public abstract void rotate(double theta, double x, double y)


rotate() 的兩個參數 (paramenter) 版本都沒有回傳值 (return value) , thetaxy 等都是為非物件 (object) 的 double 型態 (type) 常數。


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

public class Graphics2DDemo09 extends Canvas {
    public static void main(String[] args) {
        Frame frame = new Frame("AWTDemo");
        frame.addWindowListener(new AdapterDemo());
        frame.setSize(200, 200);
        
        Graphics2DDemo09 canvas = new Graphics2DDemo09();
        frame.add(canvas, BorderLayout.CENTER);
        
        frame.setVisible(true);
    }
    
    public void paint(Graphics g) {
        Graphics2D g2 = (Graphics2D) g;
        g2.draw(new Rectangle(30, 30, 100, 100));
        g2.rotate(60, 85, 85);
        g2.draw(new Rectangle(30, 30, 100, 100));
    }    
}

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

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


此例在 paint() 方法中畫圖,先將 Graphics 型態的參數 g 強制轉換成 Graphics2D 型態,然後畫出兩個 Rectangle ,中間呼叫 rotate() 將第二個 Rectangle 進行旋轉
public void paint(Graphics g) {
    Graphics2D g2 = (Graphics2D) g;
    g2.draw(new Rectangle(30, 30, 100, 100));
    g2.rotate(60, 85, 85);
    g2.draw(new Rectangle(30, 30, 100, 100));
}


編譯後執行,結果如下



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


您可以繼續參考
繪圖


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


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

沒有留言: