当前位置:  技术问答>java相关

能不能给个用J2METM Wireless Toolkit做的小程序,现在一点都动不了呀,多谢了

    来源: 互联网  发布时间:2015-05-24

    本文导语:  希望能有源程序,更主要的是怎么把这些程序加入到J2METM Wireless Toolkit中调试 | 我到是有两个,你发个mail给我吧,我的是jamsband@hotmail.com,我明天发给你 | 首先,j2mewtk只可以编...

希望能有源程序,更主要的是怎么把这些程序加入到J2METM Wireless Toolkit中调试

|
我到是有两个,你发个mail给我吧,我的是jamsband@hotmail.com,我明天发给你

|
首先,j2mewtk只可以编译、运行、封装j2me程序,你先在ktoolbar中建立新工程,然后你必须用文本编辑器写好源代码,放入..j2mewtkapps工程名src目录下,在ktoolbar中点击Build,在下面的窗口中可以看到编译过程。

1:HelloWorld.java
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class HelloWorld extends MIDlet implements CommandListener {
    private Command exitCommand;
    private TextBox tb;

    public HelloWorld() {
        exitCommand = new Command("Exit", Command.EXIT, 1);
        tb = new TextBox("Hello MIDlet", "Hello, World!", 15, 0);
        tb.addCommand(exitCommand);
        tb.setCommandListener(this);
    }

    protected void startApp() {
        Display.getDisplay(this).setCurrent(tb);
    }

    protected void pauseApp() {}
    protected void destroyApp(boolean u) {}

    public void commandAction(Command c, Displayable d) {
        if (c == exitCommand) {
            destroyApp(false);
            notifyDestroyed();
        }
    }
}


2: TimerMIDlet.java

import java.lang.*;
import java.io.*;
import java.util.*;

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

/**
 * A simple class that shows an example of using a Timer and
 * a TimerTask.
 *
 * This MIDlet creates two gauges. One gauge gaugeOne,
 * sets elements from low to high. The other, gaugeTwo,
 * set elements from high to low. In effect, this has
 * gaugeOne "going up", and gaugeTwo "going down."
 *
 * The two timers fire at different intervals.
 *
 * There are two commands on our form:
 * 
 * OK: toggles whether the times are active or not.
 * EXIT: exits the MIDlet.
 */

public class TimerMIDlet extends MIDlet implements CommandListener {
    // number of elements in gauge
    final private static int GAUGE_MAX = 10;

    private boolean timersRunning; // tracks state of timers
    private Display myDisplay;     // handle to the display

    private Gauge gaugeOne;        // "going up" gauge
    private Gauge gaugeTwo;        // "going down" gauge

    private Form myScreen;         // form on which to 
                                   // place gauges
    private Command cmdOK;         // OK command
    private Command cmdExit;       // EXIT command

    private Timer timer;
    private MyTimerTask timerTaskOne;
    private MyTimerTask timerTaskTwo;

    /**
     * Internal class that provides a TimerTask.
     */
    private class MyTimerTask extends TimerTask {
        private Gauge myGauge; // reference to gauge
        private boolean goUp;  // if true, go up
        private int num;       // number of times called

        /**
         * Public constructor: stores "direction" and a reference to
         * a gauge.
         */
        public MyTimerTask(Gauge g, boolean up) {
            myGauge = g;
            goUp = up;
        }

        /**
         * As the timer fires, this method is invoked. Set gauge
         * based on goUp
         */
        public void run() {
            num++;
            myGauge.setValue(goUp ?
                             GAUGE_MAX -(num % GAUGE_MAX) :
                             num % GAUGE_MAX);
        }
    }

    /**
     * Public constructor: gets handle to display,
     * creates form, gauges, and commands.
     */
    public TimerMIDlet() {
        myDisplay = Display.getDisplay(this);
        myScreen = new Form("TimerMIDlet");
        gaugeOne = new Gauge("Up Gauge",
                             false,
                             GAUGE_MAX,
                             0);
        myScreen.append(gaugeOne);

        gaugeTwo = new Gauge("Down Gauge",
                             false,
                             GAUGE_MAX,
                             GAUGE_MAX);
        myScreen.append(gaugeTwo);

        cmdOK = new Command("OK", Command.OK, 1);
        cmdExit = new Command("Exit", Command.EXIT, 1);
        myScreen.addCommand(cmdOK);
        myScreen.addCommand(cmdExit);
        myScreen.setCommandListener(this);
    }

    /**
     * Changes the state of timers to/from active to/from
     * not-active.
     */
    private void flipFlop() {
        if (timersRunning) {
            timerTaskOne.cancel();
            timerTaskTwo.cancel();
            timer.cancel();
            timersRunning = false;
        } else {
            timer = new Timer();
            timerTaskOne = new MyTimerTask(gaugeOne, false);
            timerTaskTwo = new MyTimerTask(gaugeTwo, true);
            timer.schedule(timerTaskOne, 0, 1000);
            timer.schedule(timerTaskTwo, 0, 1500);
            timersRunning = true;
        }
    }

    /**
     * Called by the system to start our MIDlet.
    * @exception MIDletStateChangeException
     */
    protected void startApp() throws MIDletStateChangeException {
        myDisplay.setCurrent(myScreen);
        flipFlop();
    }


    /**
     * Called by the system to pause our MIDlet.
     * No actions required by our MIDLet.
     */
    protected void pauseApp() {}

    /**
     * Called by the system to end our MIDlet.
     * No actions required by our MIDLet.
     */
    protected void destroyApp(boolean unconditional) {}

    /***
     * Respond to command selections. Process two commands:
     * 
     * OK: flip flop the timers to/from active
     * EXIT: exit this MIDlet
     * 
     */
    public void commandAction(Command c, Displayable d) {
        if (c == cmdOK) {
            flipFlop();
        } else if (c == cmdExit) {
            destroyApp(false);
            notifyDestroyed();
        }
    }
}



    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • J2ME Wirteless Toolkit下的又一个问题:(下面的代码为什么调试不能成功?)
  • 申请加薪时绝对不能说的4件事!
  • 在LINUX下不能拷影碟还是不能拷.dat文件??
  • sqlserver登陆后报不能为空不能为null的错误
  • 修改/ETC/FSTAB后,系统不能进入,/文件系统只读,不能改,我该怎么办,分不是问题
  • 在Linux下访问Windows的NTFS分区为什么不能写,也不能删里面的东西?
  • EJB QL都支持什么函数啊?能不能支持trim函数呢?如果不能,应该怎么实现这样的功能呢?
  • 如何配置wu-ftp不能匿名登陆同时用户上传后的文件不能删除和修改?
  • sqlserver登陆后报不能为空不能为null的错误 iis7站长之家
  • 救急!Linux下WAS4.0不能启动(DB2 数据库也不能启动)
  • 高难Unix问题,为什么不能通过中国网通的宽带联接(ADSL)不能看到我的网站?
  • 在linux下面使用相关的硬件,为何不能,系统不能检测到modem,网卡,以及其他,请教
  • 新手虚心请教.在线等复....vsftp配置成功后,本机可以FTP上,但其他系统通过FTP工具不能上.防火墙不能关..
  • 在静态上下文中不能引用非静态方法test(),天啊,为什么我的main()不能调用任何其它函数?
  • 愁死了,一开始使用redhat7.3,安装时定制为服务器,squid不能使用,改用redhat9.0,安装时选择服务器安装选项,squid还是不能用
  • Redhat9为什么不能安装?是因为不能识别串口硬盘吗?
  • 为什么我安装完系统后不能输入密码,不能进系统
  • 装完fc1后,设置后可以上网了,网页,链接都可以,可是却不能收邮件,不能登陆,为什么,还有一个小问题,装完系统后,有什么特别好用的
  • 我在VMWARE上装LINUX的 ,安装时不能检测到 我的显卡的型号,安装好后不能进入KDE,高分求助啊
  • ubuntu没有顶部工具栏,不能移动,不能改变大小
  • 我的华硕笔记本M5000安装redhat9不能图形安装,用text模式安装完毕后也不能进xwindow
  • 【新人用Ubuntu】Ubuntu中复制粘贴怎么这么麻烦,CtrC、CtrV不能用,箭头又貌似太灵活不能控制~


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3