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

📄 uidemomidlet.java

📁 在J2ME开发环境(NETBEANS)上使用LWUIT + J4LChart 实现精美的图表
💻 JAVA
字号:
package com.sun.lwuit.uidemo;/* * Copyright ? 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * */import com.sun.lwuit.Button;import com.sun.lwuit.Command;import com.sun.lwuit.Component;import com.sun.lwuit.Dialog;import com.sun.lwuit.Display;import com.sun.lwuit.Form;import com.sun.lwuit.Image;import com.sun.lwuit.Label;import com.sun.lwuit.animations.Transition;import com.sun.lwuit.animations.Transition3D;import com.sun.lwuit.events.ActionEvent;import com.sun.lwuit.events.ActionListener;import com.sun.lwuit.events.FocusListener;import com.sun.lwuit.layouts.GridLayout;import com.sun.lwuit.plaf.Style;import com.sun.lwuit.plaf.UIManager;import com.sun.lwuit.util.Resources;public class UIDemoMIDlet extends javax.microedition.midlet.MIDlet implements ActionListener {    private static final Command exitCommand = new Command("Exit", 1);    private String[] btn_name = new String[]{//九宫图的名称,同时也是图标的名称    "Image 1","Image 2","Image 3","Image 4","Image 5","Image 6","Image 7",    "Image 8","Image 9"    };    private static Transition componentTransitions;    private static Form mainMenu;//主窗体    private int cols;    private int elementWidth;    protected void startApp() {        try {            Display.init(this);            Resources r = Resources.open("/res/resources.res");//读取资源文件            setMainForm(r);        } catch (Throwable ex) {            ex.printStackTrace();            Dialog.show("Exception", ex.getMessage(), "OK", null);//hellogv最爱的提示框弹出方式        }    }    protected void pauseApp() {    }    protected void destroyApp(boolean arg0) {    }    public static void setMenuTransition(Transition in, Transition out) {        mainMenu.setMenuTransitions(in, out);        UIManager.getInstance().getLookAndFeel().setDefaultMenuTransitionIn(in);        UIManager.getInstance().getLookAndFeel().setDefaultMenuTransitionOut(out);    }    public static void setComponentTransition(Transition t) {        componentTransitions = t;        mainMenu.setSmoothScrolling(false);    }    public static Transition getComponentTransition() {        return componentTransitions;    }    public static void backToMainMenu(){                mainMenu.refreshTheme();                mainMenu.show();                // for series 40 devices                System.gc();                System.gc();    }    private void setMainForm(Resources r) {        //设置主题        UIManager.getInstance().setThemeProps(r.getTheme("businessTheme"));        mainMenu = new Form("咪当俺系噜噜") ;        int width = Display.getInstance().getDisplayWidth(); //取得全屏的宽度        elementWidth = 0;        //效果,可以实现类似IPhone、S1智能机的Touch Flo的动态窗体切换效果!**********************        mainMenu.setTransitionOutAnimator(Transition3D.createRotation(500, true));        mainMenu.setTransitionInAnimator(Transition3D.createRotation(500, false));        UIDemoMIDlet.setComponentTransition(Transition3D.createCube(500, true));        //***************************************************************************************************************        Image[] selectedImages = new Image[btn_name.length];//按钮被选中时的图片        Image[] unselectedImages = new Image[btn_name.length];//按钮未被选中的图片        for (int i = 0; i < btn_name.length; i++) {            //---------读取选中时的图片            selectedImages[i] = r.getImage(btn_name[i]);            //--------读取未被选中的图片            unselectedImages[i] = r.getImage(btn_name[i]);            final Button button = new Button(btn_name[i], unselectedImages[i])            {                public Image getPressedIcon() {                    Image i = getIcon();                    return i.scaled((int) (i.getWidth() * 0.8), (int) (i.getHeight() * 0.8));                }            };            button.setRolloverIcon(selectedImages[i]);            Style s = button.getStyle();            s.setBorder(null);            s.setBgTransparency(0);            s.setBgSelectionColor(0xffffff);            button.setAlignment(Label.CENTER);            button.setTextPosition(Label.BOTTOM);            mainMenu.addComponent(button);            button.addActionListener(this);            //按钮焦点处理,用于实现按钮特效            button.addFocusListener(new FocusListener() {                public void focusGained(Component cmp) {//按钮取得焦点时的特效                    if (componentTransitions != null) {                        mainMenu.replace(button, button, componentTransitions);                    }                }                public void focusLost(Component cmp) {}//按钮失去焦点时的特效            });            elementWidth = Math.max(button.getPreferredW(), elementWidth);        }        cols = width / elementWidth;        int rows = btn_name.length / cols;        mainMenu.setLayout(new GridLayout(rows, cols));//GridLayout为九宫图的排列方式        mainMenu.addCommand(exitCommand);        mainMenu.setCommandListener(this);        mainMenu.show();    }    /**     * 控件处理函数     */    public void actionPerformed(ActionEvent evt) {        try{//通过异常处理来判断事件来源            Command cmd = evt.getCommand();            if(cmd.getCommandName().equals("Exit"))                    notifyDestroyed();        }catch(Exception e)        {            String sel_button=((Button)(evt.getSource())).getText();//取得所选按钮的名称            if(sel_button.equals("Image 1"))               new ChartDemo().form.show();                 }    }    }

⌨️ 快捷键说明

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