在 J2ME 行動裝置開發中,靈活運用顏色能顯著提升應用程式的視覺表現力。受限於平台輕量化設計,J2ME 未提供獨立的顏色類別,而是採用 RGB(紅、綠、藍)三原色模型來定義顏色。每個顏色通道的數值範圍為 0~255,透過三通道組合可呈現超過 1,600 萬種色彩。
開發者可用兩種方式表示顏色:
(255, 0, 0)、綠色 (0, 255, 0)、藍色 (0, 0, 255)(原文藍色範例有誤,已修正)0x00FF0000、綠色 0x0000FF00、藍色 0x000000FF掌握這兩種表示法互轉,能讓繪圖代碼更具可讀性與維護性。
所有繪圖顏色操作均集中在 javax.microedition.lcdui.Graphics 類別中,核心方法如下:
int currentColor = g.getColor(); // 回傳 0x00RRGGBB 格式整數
適用於需要暫存、還原顏色狀態的場景。
g.setColor(0x00FF0000); // 直接指定十六進制色值
g.setColor(255, 0, 0); // 分別傳入 R、G、B 數值
兩種 setColor 多載形式功能相同,建議根據程式碼上下文選擇更直觀的寫法。設定完成後,後續的 drawRect()、fillRect()、drawString() 等繪圖呼叫皆會套用該顏色。
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 | 大字體,強調標題或重要資訊 |
注意:實際像素大小由裝置製造商決定,同樣常數在不同手機上渲染結果可能不同,開發時務必實機測試。
Font.getDefaultFont()g.getFont()g.setFont(font)list.setFont(0, font)(索引 0 為第一行)COLOR_PRIMARY = 0x00336699,提升可維護性。font.getHeight() 進行換行佈局,避免超出螢幕邊界。善用顏色與字體 API,能讓簡單的 J2ME 介面煥發專業級視覺質感,是行動應用開發的基本功之一。