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

J2ME MIDP 核心 UI 元件完整指南:從 Alert 到 Ticker 的實戰應用

     編輯:Java 程式設計入門

前言

MIDP 雖屬受限框架,仍提供完整 UI 元件集。本文條列 10 大核心元件功能,並以「電話日曆」完整範例示範 DateField、命令處理、項目狀態監聽實作。

一、十大核心 UI 元件

元件功能說明
Alert顯示異常或錯誤訊息,可設定類型、圖示、超時時間。
Choice從預設選項單選/多選的介面 (介面)。
ChoiceGroup相關選項群組,可放入 Form。
FormUI 元件容器,支援佈局管理。
List選項列表,支援隱含/單選/多選模式。
StringItem唯讀字串顯示,可作標籤或內容。
TextBox全螢幕文字輸入/編輯畫面。
TextField單行文字輸入欄位,可放入 Form。
DateField可編輯日期/時間元件,支援 DATE、TIME、DATE_TIME 模式,可放入 Form。
Ticker跑馬燈文字捲動顯示,可附加於任何 Displayable。

二、實作範例:電話日曆

功能

  • 主畫面顯示 DateField 供用戶選擇日期。
  • 左鍵「Exit」離開應用。
  • 實作 ItemStateListener 監聽日期變更(此處略)。

完整程式碼

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

public class PhoneCalendar extends MIDlet implements CommandListener, ItemStateListener {
    private Command exitCommand;
    private Display display;
    private Form displayForm;
    private DateField date;

    public PhoneCalendar() {
        display = Display.getDisplay(this);
        exitCommand = new Command("Exit", Command.SCREEN, 1);
        date = new DateField("Select date", DateField.DATE);
    }

    public void startApp() {
        displayForm = new Form("Quick Calendar");
        displayForm.append(date);
        displayForm.addCommand(exitCommand);
        displayForm.setCommandListener(this);
        displayForm.setItemStateListener(this);
        display.setCurrent(displayForm);
    }

    public void itemStateChanged(Item item) {
        // 取得變更後的日期值: Date d = date.getDate();
        // 後續業務邏輯...
    }

    public void pauseApp() { }

    public void destroyApp(boolean unconditional) { }

    public void commandAction(Command c, Displayable s) {
        if (c == exitCommand) {
            destroyApp(false);
            notifyDestroyed();
        }
    }
}

三、進階應用提示

  • DateField 結合 java.util.Calendar 可實現完整行事曆邏輯(農曆、農曆轉換需自行實作)。
  • List 搭配 Choice.IMPLICIT 可快速建立主選單。
  • Gauge 非互動模式可作進度指示器,互動模式可作滑桿輸入。
  • 自定義繪圖請繼承 Canvas 覆寫 paint(Graphics),屬低階 UI。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved