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

J2ME 開發實戰:掌握顏色與字體繪製技巧

     編輯:J2ME

核心概念:RGB 顏色模型

在 J2ME 行動裝置開發中,靈活運用顏色能顯著提升應用程式的視覺表現力。受限於平台輕量化設計,J2ME 未提供獨立的顏色類別,而是採用 RGB(紅、綠、藍)三原色模型來定義顏色。每個顏色通道的數值範圍為 0~255,透過三通道組合可呈現超過 1,600 萬種色彩。

開發者可用兩種方式表示顏色:

  • 十進制三元組:例如紅色 (255, 0, 0)、綠色 (0, 255, 0)、藍色 (0, 0, 255)(原文藍色範例有誤,已修正)
  • 十六進制 0x00RRGGBB:紅色 0x00FF0000、綠色 0x0000FF00、藍色 0x000000FF

掌握這兩種表示法互轉,能讓繪圖代碼更具可讀性與維護性。

Graphics 類別的顏色控制方法

所有繪圖顏色操作均集中在 javax.microedition.lcdui.Graphics 類別中,核心方法如下:

1. 獲取當前繪圖顏色

int currentColor = g.getColor(); // 回傳 0x00RRGGBB 格式整數

適用於需要暫存、還原顏色狀態的場景。

2. 設定繪圖顏色(整數模式)

g.setColor(0x00FF0000); // 直接指定十六進制色值

3. 設定繪圖顏色(RGB 分量模式)

g.setColor(255, 0, 0); // 分別傳入 R、G、B 數值

兩種 setColor 多載形式功能相同,建議根據程式碼上下文選擇更直觀的寫法。設定完成後,後續的 drawRect()、fillRect()、drawString() 等繪圖呼叫皆會套用該顏色。

字體系統:Font 類別深度解析

J2ME 的字體機制同樣受限於裝置硬體,開發者無法載入自訂字型檔,只能透過 Font.getFont() 組合系統預設字體屬性:

Font font = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD, Font.SIZE_MEDIUM);

三大屬性參數詳解

屬性常數值說明
face(字體外觀)FACE_MONOSPACE等寬字體,適合程式碼、表格顯示
FACE_PROPORTIONAL比例字體,字寬自適應,閱讀體驗較佳
FACE_SYSTEM系統預設字體,相容性最佳
style(字體樣式)STYLE_PLAIN標準正常字體
STYLE_BOLD粗體
STYLE_ITALIC斜體
STYLE_UNDERLINED底線
STYLE_BOLD | STYLE_ITALIC粗斜體(位元或運算組合)
STYLE_UNDERLINED | STYLE_BOLD帶底線粗體
STYLE_UNDERLINED | STYLE_ITALIC帶底線斜體
STYLE_UNDERLINED | STYLE_ITALIC | STYLE_BOLD帶底線粗斜體
size(字體大小)SIZE_SMALL小字體,節省螢幕空間
SIZE_MEDIUM中字體,預設尺寸
SIZE_LARGE大字體,強調標題或重要資訊

注意:實際像素大小由裝置製造商決定,同樣常數在不同手機上渲染結果可能不同,開發時務必實機測試。

常用字體操作速查

  1. 取得系統預設字體:Font.getDefaultFont()
  2. 在 paint() 取得目前 Graphics 字體:g.getFont()
  3. 在 paint() 設定 Graphics 字體:g.setFont(font)
  4. MIDP 2.0 List 元件逐行設定字體:list.setFont(0, font)(索引 0 為第一行)

實戰建議

  • 建立輔助方法封裝常用顏色常數,如 COLOR_PRIMARY = 0x00336699,提升可維護性。
  • 字體組合採用「系統字體 + 粗體 + 中號」作為預設風格,確保跨裝置可讀性。
  • 繪製大量文字時,預先計算字型高度 font.getHeight() 進行換行佈局,避免超出螢幕邊界。

善用顏色與字體 API,能讓簡單的 J2ME 介面煥發專業級視覺質感,是行動應用開發的基本功之一。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved