修飾子與參數
public abstract boolean hit(Rectangle rect, Shape s, boolean onStroke)
hit() 的回傳值 (return value) 為非物件 (object) 的布林常數,另需三個參數 (paramenter) , rect 為 Rectangle 型態 (type) 的長方形物件, s 為 Shape 型態的形狀物件,此方法就是判斷 s 是否在 rect 內, onStroke 則決定是否要加入邊界的判斷。
舉例如下
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
public class Graphics2DDemo08 extends Canvas {
public static void main(String[] args) {
Frame frame = new Frame("AWTDemo");
frame.addWindowListener(new AdapterDemo());
frame.setSize(200, 200);
Graphics2DDemo08 canvas = new Graphics2DDemo08();
frame.add(canvas, BorderLayout.CENTER);
frame.setVisible(true);
}
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
Rectangle r1 = new Rectangle(10, 10, 160, 160);
Rectangle r2 = new Rectangle(30, 30, 100, 100);
System.out.println(g2.hit(r1, r2, false));
}
}
class AdapterDemo extends WindowAdapter {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:Graphics2DDemo08.java
功能:示範 Java 程式
作者:張凱慶
時間:西元 2012 年 3 月 */此例在 paint() 方法中畫圖,先將 Graphics 型態的參數 g 強制轉換成 Graphics2D 型態,然後建立兩個 Rectangle 物件,最後在命令列呼叫 hit() 判斷 r2 與 r1 有重疊
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
Rectangle r1 = new Rectangle(10, 10, 160, 160);
Rectangle r2 = new Rectangle(30, 30, 100, 100);
System.out.println(g2.hit(r1, r2, false));
}編譯後執行,結果如下

| 中英文術語對照 | |
|---|---|
| 類別 | class |
| 方法 | method |
| 回傳值 | return value |
| 型態 | type |
| 物件 | object |
| 參數 | parameter |
您可以繼續參考
繪圖
相關目錄
Java API 分類導覽
Java 教材
首頁
參考資料
http://docs.oracle.com/javase/6/docs/api/java/awt/Graphics2D.html
沒有留言:
張貼留言