亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
亚洲日本免费电影| 国产成人av电影在线| 麻豆91在线播放免费| 波多野结衣在线aⅴ中文字幕不卡 波多野结衣在线一区 | 专区另类欧美日韩| 美国av一区二区| 欧美日韩aaaaa| 一区视频在线播放| 国产馆精品极品| 91精品国产综合久久精品麻豆| 国产精品第一页第二页第三页| 男人的j进女人的j一区| 欧美色图第一页| 亚洲欧美一区二区视频| 国产又粗又猛又爽又黄91精品| 欧美日韩一区二区三区四区五区| 17c精品麻豆一区二区免费| 国产一区二区三区四区五区入口| 91精品国模一区二区三区| 一卡二卡三卡日韩欧美| 91视频免费看| 亚洲欧美色图小说| a级精品国产片在线观看| 久久精品日产第一区二区三区高清版 | 亚洲va天堂va国产va久| 色综合咪咪久久| 成人免费在线视频观看| 99久久精品99国产精品| 欧美国产一区视频在线观看| 国产精品资源在线看| 欧美成人伊人久久综合网| 美国精品在线观看| 久久精品夜色噜噜亚洲a∨| 国产成人精品亚洲午夜麻豆| 久久精品一区二区| 成人99免费视频| 亚洲色图在线视频| 欧美午夜影院一区| 调教+趴+乳夹+国产+精品| 欧美一区二区三区系列电影| 秋霞午夜鲁丝一区二区老狼| 欧美一区二区三区精品| 狠狠色丁香九九婷婷综合五月| 欧美xxxx老人做受| 国产精品一品视频| 国产精品国产三级国产a| 99久久综合色| 婷婷国产在线综合| 精品国产乱码久久久久久1区2区 | 精品福利在线导航| 国产乱码精品1区2区3区| 国产精品色一区二区三区| 不卡欧美aaaaa| 亚洲自拍与偷拍| 日韩色在线观看| 成人综合在线网站| 亚洲国产精品精华液网站| 精品黑人一区二区三区久久| 国产成人超碰人人澡人人澡| 亚洲精品自拍动漫在线| 91精品国产综合久久久久久| 国产麻豆精品theporn| 国产精品乱码妇女bbbb| 在线观看欧美黄色| 国产一区二区三区av电影| 亚洲免费在线观看| 欧美mv日韩mv亚洲| 91同城在线观看| 麻豆91小视频| 亚洲精品成人a在线观看| 日韩欧美一区二区视频| 99久久99久久久精品齐齐| 日韩精品国产欧美| 国产精品高清亚洲| 日韩午夜精品视频| 91美女片黄在线观看91美女| 激情欧美日韩一区二区| 亚洲美女淫视频| 久久综合av免费| 欧美日韩一区精品| 99久久久久免费精品国产| 美女视频黄 久久| 亚洲码国产岛国毛片在线| 26uuu精品一区二区| 欧美日韩午夜在线| 成人黄页在线观看| 精品一区二区三区蜜桃| 亚洲国产综合人成综合网站| 国产精品蜜臀在线观看| 日韩视频在线观看一区二区| 91成人在线免费观看| 国产高清精品网站| 精品一区二区三区的国产在线播放| 亚洲综合男人的天堂| 中文字幕一区二区三| 久久久久9999亚洲精品| 精品久久久久一区| 69久久夜色精品国产69蝌蚪网 | 成人免费观看av| 国产呦萝稀缺另类资源| 免费亚洲电影在线| 亚洲一区二区三区自拍| 亚洲人精品午夜| 中文字幕在线一区| 中文字幕久久午夜不卡| 精品国产在天天线2019| 日韩欧美中文字幕制服| 日韩精品中文字幕一区| 3d动漫精品啪啪一区二区竹菊| 欧美自拍偷拍午夜视频| 色网综合在线观看| 91天堂素人约啪| 一本色道a无线码一区v| 一本大道久久a久久精二百| 成人av网站免费| 91伊人久久大香线蕉| 99精品国产热久久91蜜凸| 91在线国产福利| 欧美亚洲国产一区在线观看网站 | 99国内精品久久| 91麻豆精品一区二区三区| 91免费看视频| 91福利小视频| 7777女厕盗摄久久久| 欧美刺激脚交jootjob| 久久夜色精品国产噜噜av | 欧美一级理论片| 欧美videos大乳护士334| 2021中文字幕一区亚洲| 久久精品在线免费观看| 亚洲视频中文字幕| 日韩精品久久久久久| 久久国产精品99精品国产| 国产一区二区成人久久免费影院| 国产成人免费视频一区| 91久久人澡人人添人人爽欧美 | 天天av天天翘天天综合网| 秋霞成人午夜伦在线观看| 国产乱妇无码大片在线观看| caoporen国产精品视频| 欧美日韩国产免费一区二区| 精品精品欲导航| 成人免费在线观看入口| 免费高清在线一区| 成人激情文学综合网| 欧美日本在线播放| 国产亚洲欧美日韩日本| 亚洲狠狠丁香婷婷综合久久久| 人禽交欧美网站| 99久久精品久久久久久清纯| 制服丝袜亚洲网站| 中文字幕av一区二区三区高| 亚洲一二三区视频在线观看| 国产制服丝袜一区| 欧美三电影在线| 国产日韩成人精品| 视频一区中文字幕| 99精品1区2区| 久久亚区不卡日本| 午夜私人影院久久久久| 国产麻豆精品在线| 欧美一区二区三区公司| 亚洲免费在线视频| 国产精品系列在线播放| 欧美日韩三级在线| 国产精品国产a级| 国产一区二区三区免费看| 欧美在线不卡视频| 国产精品久久免费看| 久久草av在线| 欧美精品免费视频| 亚洲伦理在线精品| 高清视频一区二区| 久久中文字幕电影| 日韩av一级电影| 欧美三区在线观看| 亚洲视频一区二区在线| 国产成人在线免费观看| 日韩免费一区二区| 五月激情综合色| 欧美丝袜自拍制服另类| 成人欧美一区二区三区视频网页 | 欧美日韩精品三区| 亚洲精品乱码久久久久久日本蜜臀| 国产制服丝袜一区| 欧美精品一区二区在线观看| 日本特黄久久久高潮| 7777精品伊人久久久大香线蕉经典版下载 | 婷婷成人综合网| 欧美三级在线视频| 亚洲国产视频一区二区| 日本韩国精品在线| 亚洲精品免费在线| 色狠狠色狠狠综合| 亚洲激情一二三区| 在线看国产一区| 亚洲一区二区三区不卡国产欧美| 色综合久久综合网| 亚洲一区二区3| 欧美午夜电影一区|