⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 itemmidlet.java

📁 J2ME in a Nutshell随书源码 图书语言: 简体中文 图书类型: 程序设计 >> 手机开发下载 授权方式: 免费手机开发图书 图书
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package ora.ch4;import java.io.IOException;import java.util.Calendar;import java.util.Date;import javax.microedition.lcdui.Alert;import javax.microedition.lcdui.AlertType;import javax.microedition.lcdui.Choice;import javax.microedition.lcdui.ChoiceGroup;import javax.microedition.lcdui.Command;import javax.microedition.lcdui.CommandListener;import javax.microedition.lcdui.DateField;import javax.microedition.lcdui.Display;import javax.microedition.lcdui.Displayable;import javax.microedition.lcdui.Form;import javax.microedition.lcdui.Gauge;import javax.microedition.lcdui.Image;import javax.microedition.lcdui.ImageItem;import javax.microedition.lcdui.Item;import javax.microedition.lcdui.ItemStateListener;import javax.microedition.lcdui.List;import javax.microedition.lcdui.Screen;import javax.microedition.lcdui.StringItem;import javax.microedition.lcdui.TextField;import javax.microedition.midlet.MIDlet;public class ItemMIDlet extends MIDlet         implements CommandListener, ItemStateListener {    // The MIDlet's Display object    private Display display;            // Flag indicating first call of startApp    protected boolean started;        // Exit command    private Command exitCommand;        // Back to examples list command    private Command backCommand;        // The example selection list    private List examplesList;        // The Screens used to demonstrate different Items    private Screen[] screens;        // The example names. Used to populate the list.    private String[] examples = {        "StringItem", "TextField", "DateField",        "ImageItem", "Gauge", "ChoiceGroup",        "List", "Alert", "Sounds"    };        // List of alert types    private AlertType[] alertTypes = new AlertType[] {        AlertType.ALARM, AlertType.CONFIRMATION, AlertType.ERROR,        AlertType.INFO, AlertType.WARNING, null    };        private String[] alertTypeNames = new String[] {        "ALARM", "CONFIRMATION", "ERROR", "INFO", "WARNING", "None"    };    protected void startApp() {        if (!started) {            started = true;            display = Display.getDisplay(this);                        // Create the common commands            createCommands();                        // Create the screens            createScreens();                        // Create the list of examples            createList();                        // Start with the List            display.setCurrent(examplesList);        }    }    protected void pauseApp() {    }    protected void destroyApp(boolean unconditional) {    }    public void commandAction(Command c, Displayable d) {        if (d == examplesList) {            // New example selected            int index = examplesList.getSelectedIndex();            display.setCurrent(screens[index]);        } else if (c == exitCommand) {            // Exit. No need to call destroyApp            // because it is empty.            notifyDestroyed();        } else if (c == backCommand) {            // Go back to main selection list            display.setCurrent(examplesList);        } else if (c == List.SELECT_COMMAND) {            // Selection made in the IMPLICIT LIST            handleChoiceSelection((Choice)d);        }    }        public void itemStateChanged(Item item) {                if (item instanceof TextField) {            System.out.println("Text field content: <" +                            ((TextField)item).getString() + ">");        } else if (item instanceof DateField) {            DateField df = (DateField)item;            Date date = df.getDate();            if (date != null) {                Calendar cal = Calendar.getInstance();                cal.setTime(date);                System.out.println("Date field content set to " + date);                            } else {                System.out.println("Date field content set to null");            }        } else if (item instanceof Gauge) {            int value = ((Gauge)item).getValue();            System.out.println("Gauge value set to " + value);        } else if (item instanceof ChoiceGroup) {            handleChoiceSelection((Choice)item);        } else {            System.out.println("Item state changed in " + item);        }    }            private void createCommands() {        exitCommand = new Command("Exit", Command.EXIT, 0);        backCommand = new Command("Back", Command.BACK, 1);    }        private void createList() {        examplesList = new List("Select Example", List.IMPLICIT);        for (int i = 0; i < examples.length; i++) {            examplesList.append(examples[i], null);        }         examplesList.setCommandListener(this);    }        private void createScreens() {        screens = new Screen[examples.length];        screens[0] = createStringsForm();        screens[1] = createTextFieldForm();        screens[2] = createDateFieldForm();        screens[3] = createImageItemForm();        screens[4] = createGaugeForm();        screens[5] = createChoiceGroupForm();        screens[6] = createListExample();        screens[7] = createAlertForm();        screens[8] = createSoundsForm();    }    private void addCommands(Displayable d) {        d.addCommand(exitCommand);        d.addCommand(backCommand);        d.setCommandListener(this);        if (d instanceof Form) {            ((Form)d).setItemStateListener(this);        }    }        // Example for StringItem    private Form createStringsForm() {        Form form = new Form("StringItem");                form.append(new StringItem("State ", "OK"));        form.append(new StringItem(null, "No label\n"));        form.append(new StringItem(null, "Line\nbreak"));        form.append(new StringItem("Label", "Text."));        form.append(new StringItem("Label2 ", "Text2."));                addCommands(form);        return form;    }        // Example for TextField    private Form createTextFieldForm() {        Form form = new Form("TextField");                form.append(new TextField("Any", null, 8, TextField.ANY));        form.append(new TextField("Phone", "1234567890", 10, TextField.PHONENUMBER));        form.append(new TextField("Number", "12345", 8, TextField.NUMERIC));        form.append(new TextField("Password", null, 8, TextField.PASSWORD | TextField.NUMERIC));                addCommands(form);        return form;    }        // Example for DateField    private Form createDateFieldForm() {        Form form = new Form("DateField");                // Get Calendar for the epoch date and time        Calendar baseCal = Calendar.getInstance();        Date baseDate = new Date(0);        baseCal.setTime(baseDate);                // Get Calendar for now and use the epoch        // values to reset the date to the epoch.        Calendar cal = Calendar.getInstance();        Date now = new Date();               cal.setTime(now);        cal.set(Calendar.YEAR, baseCal.get(Calendar.YEAR));        cal.set(Calendar.MONTH, baseCal.get(Calendar.MONTH));        cal.set(Calendar.DATE, baseCal.get(Calendar.DATE));                DateField timeOnly = new DateField("Time", DateField.TIME);        DateField dateOnly = new DateField("Date", DateField.DATE);        DateField both = new DateField("Both", DateField.DATE_TIME);                timeOnly.setDate(cal.getTime());        dateOnly.setDate(now);        both.setDate(now);                form.append(timeOnly);        form.append(dateOnly);        form.append(both);               addCommands(form);        return form;    }        // Example for ImageItem    private Form createImageItemForm() {        Form form = new Form("ImageItem");                try {            Image red = Image.createImage("/ora/ch4/resources/red.png");            Image blue = Image.createImage("/ora/ch4/resources/blue.png");            // ImageItems with labels            // (1)            form.append(new ImageItem("Center", red, ImageItem.LAYOUT_CENTER, null));                        // (2)            form.append(new ImageItem("Left", red, ImageItem.LAYOUT_LEFT, null));                        // (3)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -