首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2ME

MIDlet 繪圖入門:線條、矩形、圓角矩形與填充實戰

     編輯:J2ME

基本繪圖流程

  1. 建立繼承 Canvas 的類別,覆寫 paint(Graphics g)。
  2. 在 paint 中使用 Graphics 方法繪製幾何圖形。
  3. MIDlet 的 startApp() 中將 Canvas 設為當前顯示。

完整可執行範例

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class GraphicsMidlet extends MIDlet {
    Display dis;
    MyCanvas c;

    public GraphicsMidlet() {
        dis = Display.getDisplay(this);
        c = new MyCanvas();
        dis.setCurrent(c);
    }
    public void startApp() {}
    public void pauseApp() {}
    public void destroyApp(boolean unconditional) {}
}

class MyCanvas extends Canvas {
    public void paint(Graphics g) {
        int w = getWidth();
        int h = getHeight();

        // 1. 白底
        g.setColor(0xFFFFFF);
        g.fillRect(0, 0, w, h);

        // 2. 對角線:洋紅 (255,0,255) 從左上到右下
        g.setColor(0xFF00FF);
        g.drawLine(0, 0, w, h);

        // 3. 反對角線:青 (0,255,255) 從左下到右上
        g.setColor(0x00FFFF);
        g.drawLine(0, h, w, 0);

        // 4. 置中圓角矩形:黑色邊框,寬高 40,圓角直徑 20
        g.setColor(0x000000);
        g.drawRoundRect(w/2 - 20, h/2 - 20, 40, 40, 20, 20);
    }
}

API 速查

方法說明參數
setColor(r,g,b) / setColor(RGB)設定前景色0~255 或 0x00RRGGBB
drawLine(x1,y1,x2,y2)畫線段整數座標
drawRect(x,y,w,h)畫矩形邊框左上角、寬、高
fillRect(x,y,w,h)填滿矩形同上
drawRoundRect(x,y,w,h,arcW,arcH)畫圓角矩形邊框arcW/arcH 為圓角橫/縱直徑
fillRoundRect(...)填滿圓角矩形同上

常見坑點與技巧

  • 座標系統:原點 (0,0) 在左上,X 向右、Y 向下。
  • 寬高包含邊框:drawRect(0,0,10,10) 畫出的矩形佔 11×11 像素(含兩側邊框),fillRect 則正好 10×10。
  • 圓角直徑非半徑:drawRoundRect(..., 20, 20) 圓角為 20×20 的橢圓弧,非半徑 20。
  • 顏色重設:每次繪製前務必 setColor,避免沿用上一筆顏色造成難以除錯的錯誤。
  • 螢幕尺寸:使用 getWidth()/getHeight() 動態適配,勿寫死數值。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved