亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? addressbook.java

?? 手機郵箱撒的方式方式方式的
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
package mujmail;/*MujMail - Simple mail client for J2MECopyright (C) 2006 Nguyen Son Tung <n.sontung@gmail.com>Copyright (C) 2008 David Hauzar <david.hauzar.mujmail@gmail.com> This program is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2 of the License, or(at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this program; if not, write to the Free SoftwareFoundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */import mujmail.util.Functions;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.util.Enumeration;import java.util.Hashtable;import java.util.Timer;import java.util.TimerTask;import java.util.Vector;import javax.microedition.lcdui.AlertType;import javax.microedition.lcdui.Canvas;import javax.microedition.lcdui.Command;import javax.microedition.lcdui.Displayable;import javax.microedition.lcdui.Font;import javax.microedition.lcdui.Form;import javax.microedition.lcdui.Graphics;import javax.microedition.lcdui.Image;import javax.microedition.lcdui.StringItem;import javax.microedition.lcdui.TextField;import javax.microedition.rms.RecordEnumeration;import javax.microedition.rms.RecordStore;//#ifdef MUJMAIL_TOUCH_SCRimport mujmail.pointer.MujMailPointerEventProducer;import mujmail.pointer.MujMailPointerEventListener;//#endif/** * Makes possible to administer, display and search the contacts. */public class AddressBook extends Canvas implements Runnable {    /** Flag signals if we want to print debug prints */    private static final boolean DEBUG = false;    public //to flip recipients when Insert Recipients from sendMail    Vector getAddresses() {        return addresses;    }    public void setAddresses(Vector addresses) {        this.addresses = addresses;    }    public //to map contacts marked as recipients    Hashtable getEmailHash() {        return emailHash;    }    public void setEmailHash(Hashtable emailHash) {        this.emailHash = emailHash;    }    /**     * Represents one contact stored in database / vector addresses.     */    public static class Contact {        String name;        private String email;        String notes;        int DBIndex;        public String getName() {            return name;        }        public Contact(String name, String email, String notes) {            this.name = name;            this.email = email;            this.notes = notes;        }                //#ifdef MUJMAIL_SYNC        public String toString() {        	return "Name: " + this.name + "\n" +        	       "Email: " + this.getEmail() + "\n" +        	       "Notes: " + this.notes + "\n\n";        }                public static Contact parseContact(String contactStr)        {        	String name, email, notes;	        	name = contactStr.substring(contactStr.indexOf("Name: ") + 6, contactStr.indexOf('\n'));        	contactStr = contactStr.substring(contactStr.indexOf("\n") + 1);        	email = contactStr.substring(contactStr.indexOf("Email: ") + 7, contactStr.indexOf('\n'));        	contactStr = contactStr.substring(contactStr.indexOf("\n") + 1);        	notes = contactStr.substring(contactStr.indexOf("Notes: ") + 7, contactStr.indexOf('\n'));        	return new Contact(name, email, notes);        }        //#endif        public String getEmail() {            return email;        }        public void setEmail(String email) {            this.email = email;        }    }    //to confirm a pressed key after a given period defined in keyTimer.schedule()    private class KeyConfirmer extends TimerTask {        public void run() {            if (keyMajor != -1) {                if (!shift) {                    input.insert(textCur, KEYS[keyMajor].charAt(keyMinor));                } else {                    input.insert(textCur, KEYS[keyMajor].charAt(KEYS[keyMajor].length() - 1));                }                textCur++;                keyMajor = -1;                inputChanged = true;            }            repaint();        }    }    //it refreshes the canvas in a given period defined in curTimer.schedule() to have the blinking textcursor efect    private class CursorShow extends TimerTask {        public void run() {            textCurShow = !textCurShow;            repaint();        }    }    static final byte MODE_DEFAULT = 0;    static final byte MODE_EDIT = 1; //when editing a contact    static final byte MODE_SENDMAIL_BROWSE = 2; //when selecting a contact to be paste in SendMail    byte mode = MODE_DEFAULT;    MujMail mujMail;    Form cntForm, viewForm; //a form to create a contact; to view contact's info	    Command mark, done, back, delete, edit, add, delAll, view, sendMail;    Command cfBack, cfSave; //for contact editing form    Command vBack; //for contact viewing form    Command flipRcps; //to flip recipients when Insert Recipients from sendMail    private Vector addresses; //a container to store contacts    Hashtable nameHash; //store first letters of some names for faster finding of a contact's name    boolean busy, btnHidden;    Hashtable marked; //to map contacts marked as recipients     private Hashtable emailHash; //to map contacts's emails that are in the addressbook, preventing multiple entries having the same email    int cur;    Displayable nextDisplay; //a displayable that should be displayed(MailForm, SendMail) after some action (saving a contact, adding recipients)			    Image img_search = Functions.getIcon("search.png");    //input key reading stuff    final String[] KEYS = {" 0", "._,'?!\"*1", "abc2", "def3", "ghi4", "jkl5", "mno6", "pqrs7", "tuv8", "wxyz9"};    Timer keyTimer;    byte keyMajor = -1;    byte keyMinor;    boolean inputChanged, shift;    StringBuffer input;    //text cursors stuff    Timer curTimer;    byte textCur;    boolean textCurShow = true;    int recipientChoice = 0;     String recipientChoiceStr = "To:";    private final PointerEventListener pointerEventListener = new PointerEventListener();    //#ifdef MUJMAIL_TOUCH_SCR    private final MujMailPointerEventProducer pointerEventProducer;    //#endif    public AddressBook(MujMail mujMail) {        this.mujMail = mujMail;        addresses = new Vector();        nextDisplay = this;        marked = new Hashtable();        emailHash = new Hashtable();        nameHash = new Hashtable();        input = new StringBuffer();        cfSave = new Command(Lang.get(Lang.BTN_SAVE), Command.OK, 1);        cfBack = new Command(Lang.get(Lang.BTN_BACK), Command.BACK, 2);        vBack = new Command(Lang.get(Lang.BTN_BACK), Command.BACK, 1);        mark = new Command(Lang.get(Lang.BTN_AD_MARK), Command.OK, 2);        done = new Command(Lang.get(Lang.BTN_AD_DONE), Command.ITEM, 1);        back = new Command(Lang.get(Lang.BTN_BACK), Command.BACK, 3);        sendMail = new Command(Lang.get(Lang.BTN_AD_SEND_MAIL), Command.OK, 2);        add = new Command(Lang.get(Lang.BTN_AD_ADD_NEW), Command.ITEM, 3);        edit = new Command(Lang.get(Lang.BTN_EDIT), Command.ITEM, 4);        delete = new Command(Lang.get(Lang.BTN_DELETE), Command.ITEM, 5);        view = new Command(Lang.get(Lang.BTN_AD_VIEW), Command.ITEM, 6);        delAll = new Command(Lang.get(Lang.BTN_CLEAR), Command.ITEM, 7);        flipRcps = new Command(Lang.get(Lang.BTN_AD_FLIPRCP), Command.ITEM,8);        addCommand(sendMail);        addCommand(view);        addCommand(back);        addCommand(edit);        addCommand(add);        addCommand(delete);        addCommand(delAll);        setCommandListener(mujMail);        Thread t = new Thread(this);        t.start();        t.setPriority(Thread.MAX_PRIORITY);        //#ifdef MUJMAIL_TOUCH_SCR        pointerEventProducer = new MujMailPointerEventProducer(pointerEventListener, getWidth(), getHeight());        //#endif            }    public void run() {        busy = true;        try {            RecordStore ADRS = RecordStore.openRecordStore("AddressBook", true);            try {                  if (DEBUG) System.out.println("DEBUG AddressBook.run() - loading AddressBook");                if (ADRS.getNumRecords() > 0) {                    int id, sizeOfRecord;                    byte[] data = new byte[50];                    DataInputStream inputStream = new DataInputStream(new ByteArrayInputStream(data));                    RecordEnumeration enumeration = ADRS.enumerateRecords(null, null, false);                    getAddresses().ensureCapacity(enumeration.numRecords());                    while (enumeration.hasNextElement()) {                        try {                            id = enumeration.nextRecordId();                            sizeOfRecord = ADRS.getRecordSize(id);                            if (sizeOfRecord > data.length) {                                data = new byte[sizeOfRecord + 20];                                inputStream = new DataInputStream(new ByteArrayInputStream(data));                            }                            ADRS.getRecord(id, data, 0);                            inputStream.reset();                            Contact contact = new Contact( inputStream.readUTF(), inputStream.readUTF(), inputStream.readUTF() );                            contact.DBIndex = id;                            getAddresses().addElement(contact);                            getEmailHash().put(contact.getEmail(), contact);                        } catch (Exception exp) {                        //try another one                        }                    }                    if (inputStream != null) {                        inputStream.close();                    }                    data = null;                }                  if (DEBUG) System.out.println("DEBUG AddressBook.run() - loading AddressBook done");            } catch (Exception ex) {                mujMail.alert.setAlert(this, this, Lang.get(Lang.ALRT_AD_LOAD) + Lang.get(Lang.FAILED), MyAlert.DEFAULT, AlertType.ERROR);            } catch (Error er) {                mujMail.alert.setAlert(this, this, Lang.get(Lang.ALRT_AD_LOAD) + Lang.get(Lang.FAILED), MyAlert.DEFAULT, AlertType.ERROR);            }            ADRS.closeRecordStore();        } catch (Exception ex) {            mujMail.alert.setAlert(this, this, Lang.get(Lang.ALRT_AD_LOAD) + Lang.get(Lang.FAILED), MyAlert.DEFAULT, AlertType.ERROR);        }        Functions.sort(getAddresses(), Functions.SRT_ORDER_INC, Functions.SRT_CNT_NAME);        initHash();        busy = false;    }    public int getSelectedIndex() {        return cur;    }    public void setSelectedIndex(int i) {        if (!addresses.isEmpty()) {            cur = (cur + i + getAddresses().size()) % getAddresses().size();        }        repaint();    }    protected synchronized void keyPressed(int keyCode) {        switch (getGameAction(keyCode)) {            case UP:                if (keyCode != KEY_NUM2) {                    pointerEventListener.up();                    return;                }                break;            case DOWN:                if (keyCode != KEY_NUM8) {                    pointerEventListener.down();                    return;                }                break;            case RIGHT:                if (keyCode != KEY_NUM6) {                    pointerEventListener.right();                    return;                }                break;            case LEFT:                if (keyCode != KEY_NUM4) {                    pointerEventListener.left();                    return;                }                break;            case FIRE:                if (keyCode != KEY_NUM5) {                    pointerEventListener.fire();                    return;                }                break;        }        if (keyCode == '#') {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区在线播放| 精品久久久久香蕉网| 欧美在线观看一区二区| 美国毛片一区二区| 国产精品久99| 日韩一级二级三级精品视频| 色婷婷综合久久久中文一区二区| 久久精品国产一区二区三| 亚洲乱码中文字幕| 欧美激情艳妇裸体舞| 日韩欧美中文字幕一区| 91成人在线精品| 成人性生交大片免费看视频在线| 麻豆中文一区二区| 午夜精品福利一区二区蜜股av| 国产精品美女一区二区在线观看| 日韩亚洲欧美在线| 制服丝袜激情欧洲亚洲| 欧美在线一区二区| 色天天综合色天天久久| 不卡视频一二三四| 成人自拍视频在线观看| 久久99国产精品免费| 日韩福利视频导航| 亚洲高清久久久| 亚洲激情欧美激情| 亚洲桃色在线一区| 亚洲人成在线播放网站岛国| 欧美国产一区视频在线观看| 久久久精品tv| 久久精品欧美日韩| 精品国产91久久久久久久妲己| 91精品国产入口在线| 欧美二区在线观看| 欧美精品日韩综合在线| 欧美日韩国产综合草草| 在线亚洲人成电影网站色www| 99re视频精品| 不卡在线观看av| 91在线精品秘密一区二区| a4yy欧美一区二区三区| 成人av网站在线观看| a在线欧美一区| www.日韩在线| 91麻豆精品一区二区三区| 99视频一区二区三区| av成人动漫在线观看| 97久久超碰精品国产| 色综合天天做天天爱| 91国产精品成人| 欧美日韩国产综合一区二区三区| 欧美高清视频www夜色资源网| 欧美精品久久久久久久多人混战| 欧美麻豆精品久久久久久| 69堂精品视频| 日韩区在线观看| 欧美mv日韩mv国产| 久久精品免费在线观看| 国产精品伦一区二区三级视频| 亚洲视频在线一区二区| 亚洲国产乱码最新视频| 日韩电影在线一区二区三区| 久久99精品一区二区三区| 26uuu精品一区二区三区四区在线| 日韩精品一区二区三区视频在线观看 | 欧美午夜精品电影| 7777精品伊人久久久大香线蕉超级流畅| 欧美一级高清大全免费观看| 久久久久久久久蜜桃| 亚洲色图欧美激情| 免费在线观看成人| 成人免费高清在线| 欧美日本精品一区二区三区| 精品日韩在线一区| 国产精品国产三级国产专播品爱网| 亚洲精品欧美在线| 经典一区二区三区| 91在线免费看| 日韩一二三区不卡| 最新日韩在线视频| 日韩中文字幕亚洲一区二区va在线 | 亚洲三级电影全部在线观看高清| 亚洲高清视频的网址| 国产精品中文有码| 色国产精品一区在线观看| 欧美大片在线观看一区二区| 最新国产成人在线观看| 奇米精品一区二区三区在线观看 | 精品一区二区三区免费观看| 99久久精品免费看国产免费软件| 欧美日韩你懂的| 国产亚洲成年网址在线观看| 亚洲一区二区在线播放相泽 | 国产成人午夜片在线观看高清观看| 91免费国产在线| 精品日韩av一区二区| 一区二区三区欧美在线观看| 久久91精品久久久久久秒播| 欧美影片第一页| 欧美高清在线一区| 日本美女视频一区二区| 91社区在线播放| 久久久久久日产精品| 日韩av电影一区| 在线视频中文字幕一区二区| 久久精品亚洲精品国产欧美| 日韩激情中文字幕| 欧美性一二三区| 国产精品第五页| 国产成人亚洲综合a∨婷婷| 欧美一区二区三区影视| 一区二区三区在线视频观看| 国产成人一区在线| 2019国产精品| 久久精品国产成人一区二区三区| 亚洲第四色夜色| 成人av综合一区| 久久蜜臀精品av| 激情欧美一区二区三区在线观看| 欧美日韩aaaaaa| 亚洲国产裸拍裸体视频在线观看乱了 | 久久午夜羞羞影院免费观看| 日韩不卡一区二区| 欧美三级电影网| 亚洲综合网站在线观看| 色狠狠一区二区| 亚洲乱码国产乱码精品精小说 | 欧美一区二区三区视频| 亚洲国产aⅴ天堂久久| 91影视在线播放| 亚洲日本韩国一区| 色综合久久中文综合久久97 | 亚洲国产日韩a在线播放性色| 色综合一个色综合| 亚洲综合无码一区二区| 欧美性做爰猛烈叫床潮| 亚洲成人资源网| 欧美日韩国产大片| 日韩av中文字幕一区二区| 欧美理论电影在线| 视频一区二区中文字幕| 日韩色视频在线观看| 麻豆精品一区二区av白丝在线| 欧美一级理论性理论a| 日本vs亚洲vs韩国一区三区| 日韩欧美成人一区| 国产精品自产自拍| 国产精品二区一区二区aⅴ污介绍| a亚洲天堂av| 一区二区高清免费观看影视大全 | 久久久久久久网| 国产**成人网毛片九色 | 中文字幕中文乱码欧美一区二区| 成人激情电影免费在线观看| 综合中文字幕亚洲| 欧美体内she精高潮| 五月婷婷激情综合| 久久综合久久综合九色| 丰满放荡岳乱妇91ww| 《视频一区视频二区| 精品视频在线免费| 麻豆久久一区二区| 国产欧美精品一区二区色综合| 不卡电影免费在线播放一区| 亚洲一区二区三区小说| 91精品国产全国免费观看| 国产一区二区0| 亚洲人被黑人高潮完整版| 欧美日韩免费一区二区三区| 蜜臀av性久久久久av蜜臀妖精| 欧美激情一区二区三区全黄| 色噜噜狠狠色综合中国| 美国一区二区三区在线播放| 国产精品久久久久天堂| 欧美日韩免费一区二区三区 | 国产精品一二一区| 亚洲最色的网站| 日韩精品一区二区三区三区免费| 国产91丝袜在线播放九色| 一区二区三区四区乱视频| 日韩精品专区在线影院观看 | 国产一区二区三区免费播放| 亚洲色图制服诱惑 | 国产精品网站在线播放| 欧美三区免费完整视频在线观看| 国内一区二区在线| 亚洲综合激情另类小说区| 亚洲精品在线三区| 欧美午夜精品一区| 国产盗摄一区二区| 亚洲成av人**亚洲成av**| 国产日韩精品一区二区三区| 欧美色窝79yyyycom| 丰满放荡岳乱妇91ww| 视频一区二区三区在线| 亚洲日本一区二区三区| 久久九九全国免费| 4438成人网| 91久久一区二区| 岛国一区二区在线观看|