ホーム > デベロッパ > J2ME / MIDP プログラミング > 実機対応と携帯電話の将来展望

第6回: 実機対応と携帯電話の将来展望

001: package com.s_cradle.improve.client;
002: 
003: import javax.microedition.lcdui.Form;
004: import javax.microedition.lcdui.Item;
005: import javax.microedition.lcdui.StringItem;
006: import com.s_cradle.improve.Constants;
007: 
008: /**
009:  * Copyright (C) 2003 Sophia Cradle, Inc.
010:  *
011:  * 2択の Menu です。
012:  *
013:  * @author Masaru Yoshimura
014:  */
015: public class TwoChoiceMenu extends Menu{
016:     // 何に使われているかの定数
017:     public static final int MENU_WITHDRAW = 0;
018:     public static final int MENU_QUIT = 1;
019:     public static final int MENU_REMOVEBUDDY = 2;
020:     public static final int MENU_PHONE = 3;
021: 
022:     private static final String[] ITEMS = new String[]{"はい","いいえ"};
023:     private static final int YES = 0;
024:     private static final int NO = 1;
025: 
026:     private int mode;
027:     private Buddy buddy;
028: 
029:     /**
030:      * コンストラクタ
031:      */
032:     public TwoChoiceMenu(String title, int mode_) {
033:         super(title, ITEMS, true);
034:         mode = mode_;
035:     }
036: 
037:     /**
038:      * コンストラクタ
039:      */
040:     public TwoChoiceMenu(String title, int mode_, Buddy buddy_) {
041:         this(title, mode_);
042:         buddy = buddy_;
043:     }
044: 
045:     /**
046:      * キーハンドラ
047:      */
048:     public Menu processFireKeyRelease(){
049:         switch( mode ){
050:             case MENU_WITHDRAW:
051:                 if( cursor == YES ){
052:                     Task.getTask(Task.TASK_DELETE,new String[0]).schedule(0);
053:                 }
054:                 break;
055:             case MENU_QUIT:
056:                 if( cursor == YES ){
057:                     Task.getTask(Task.TASK_SET,new String[]{
058:                             String.valueOf(Constants.ITEM_INDEX_STATUS),
059:                             String.valueOf(Constants.STATUS_LOGOFF)})
060:                         .schedule(0);
061:                 }
062:                 break;
063:             case MENU_REMOVEBUDDY:
064:                 if( cursor == YES ){
065:                     Task task = Task.getTask(Task.TASK_REMOVE,
066:                             new String[]{buddy.getAccount()});
067:                     task.schedule(0);
068:                 }
069:                 break;
070:             case MENU_PHONE:
071:                if( cursor == YES ){
072:                     //電話処理
073:                 }
074:                 break;
075:             default:
076:                 break;
077:         }
078: 
079:         return null;
080:     }
081: }