📄 uidemomidlet.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 + -