原因

怀旧

安装开发工具

安装jdk

去官网下载32位的jdk1.8。

安装Wireless Toolkit

J2ME Wireless Toolkit是Sun的无线开发工具包,这一工具包的设计目的是为了帮助开发人员简化j2me的开发过程。

一直下一步即可安装,记得选择刚才安装的jdk,安装过程会让你选择的。

下载idea

记得去官网下载老版本的idea,因为idea-j2me的插件仅仅支持到2019年,就被抛弃了。

最后一个支持j2me的idea版本(社区版就足够用了):IntelliJ IDEA Community Edition: 2019.3.5 - Windows x64 ZIP Archive (zip)

idea的j2me下载: 离线版下载,当然你也可以直接在idea的插件中搜索安装

模拟器kemulator

因为自带的javaMe运行模拟器,不好用,因此需要我们手动安装一个三方的。

网上很多,我这里随意百度了一个

创建j2me项目

1、打开idea>create new project

2、选择sdk为刚才安装的Wireless Toolkit

3、填写项目信息并点击完成

项目配置

新增启动类

创一个一个类 src>Main.java, 代码如下

import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException; public class Main extends MIDlet {
protected void startApp() throws MIDletStateChangeException {
System.out.println("你好");
} protected void pauseApp() { } protected void destroyApp(boolean b) throws MIDletStateChangeException { }
}

或者有界面的Demo

import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet; public class Main extends MIDlet implements CommandListener { public void startApp() {
Display display = Display.getDisplay(this);
Form mainForm = new Form("首页");
mainForm.append("欢迎欢迎!");
Command exitCommand = new Command("Exit", Command.EXIT, 0);
mainForm.addCommand(exitCommand);
mainForm.setCommandListener(this);
display.setCurrent(mainForm);
} public void pauseApp() {
} public void destroyApp(boolean unconditional) {
} public void commandAction(Command c, Displayable s) {
if (c.getCommandType() == Command.EXIT)
notifyDestroyed();
} }

项目结构配置





配置启动

安装KE模拟器



并将此模块设置为尽在测试运行的时候启用

新增启动配置入口

-cp out/production/j2me-demo -midlet Main

运行



打包

配置包信息



点击确定后,会自动更新到项目中的j2me-demo.jad中。

MIDlet-1: demo, , Main
MIDlet-Jar-URL: j2me-demo.jar
MIDlet-Name: j2me-demo
MIDlet-Vendor: My Vendor
MIDlet-Version: 1.0

创建包信息文件

创建文件src/META-INF/MANIFEST.MF,将j2me-demo.jad代码复制进去即可

Manifest-Version: 1.0
MIDlet-1: demo, , Main
MIDlet-Jar-URL: j2me-demo.jar
MIDlet-Name: j2me-demo
MIDlet-Vendor: My Vendor
MIDlet-Version: 1.0

打包操作







参考

邪月清辉 B站教程

202x年开发jar小游戏的更多相关文章

  1. 【转】利用 three.js 开发微信小游戏的尝试

    前言 这是一次利用 three.js 开发微信小游戏的尝试,并不能算作是教程,只能算是一篇笔记吧. 微信 WeChat 6.6.1 开始引入了微信小游戏,初期上线了一批质量相当不错的小游戏.我在查阅各 ...

  2. 使用Laya引擎开发微信小游戏(上)

    本文由云+社区发表 使用一个简单的游戏开发示例,由浅入深,介绍了如何用Laya引擎开发微信小游戏. 作者:马晓东,腾讯前端高级工程师. 微信小游戏的推出也快一年时间了,在IEG的游戏运营活动中,也出现 ...

  3. 使用Laya引擎开发微信小游戏

    在支持微信小游戏的游戏引擎中,Cocos,Egret,Laya都对小游戏的开发提供了很多强大的支持.前段时间正好抽空研究了一下这块的内容,现做一个总结,针对如何使用Laya引擎开发微信小游戏给大家做一 ...

  4. Python开发转盘小游戏

    Python开发转盘小游戏 Python  一 原理分析 Python开发一个图形界面 有12个选项和2个功能键 确定每个按钮的位置 每个按钮的间隔相同 点击开始时转动,当前选项的背景颜色为红色,其他 ...

  5. HTML5游戏开发,剪刀石头布小游戏案例

    剪刀石头布,非常可爱的小游戏,相信大家都非常的怀念这款小游戏,小时候也玩过很多次,陪伴着我的童年的成长,现在是不是还会玩一下,剪刀石头布游戏的规则我们都知道是:剪刀剪布,石头砸剪刀,布包石头.跟朋友. ...

  6. 【h5-egret】如何快速开发一个小游戏

    1.环境搭建 安装教程传送门:http://edn.egret.com/cn/index.php?g=&m=article&a=index&id=207&terms1_ ...

  7. 开发H5小游戏

    Egret白鹭H5小游戏开发入门(一)   前言: 好久没更新博客了,以前很多都不会,所以常常写博客总结,倒是现在有点点经验了就懒了.在过去的几个月里,在canvas游戏框架方面,撸过了CreateJ ...

  8. 使用Laya引擎开发微信小游戏(下)

    本文由云+社区发表 6. 动画 6.1 创建伞兵对象 在src目录下创建一个新目录role,用来存放游戏中角色. 在role里创建一个伞兵Soldier.ts对象文件. module role{ ex ...

  9. Egret白鹭开发微信小游戏排行榜功能

    推荐阅读: 我的CSDN 我的博客园 QQ群:704621321 我的个人博客 最近事情特别多,今天终于实现了排行榜功能,记录下来大家一起学习学习. 一.调用默认排行榜 首先我们需要了解: 1.白鹭开 ...

  10. Egret白鹭开发微信小游戏分享功能

    今天给大家分享一下微信分享转发功能,话不多说,直接干 方法一: 1.在egret中打开Platfrom.ts文件,添加代码如下(当然,你也可以直接复制粘贴) /** * 平台数据接口. * 由于每款游 ...

随机推荐

  1. Unity性能优化-降低功耗,发热量,耗电量之OnDemandRendering篇

    公司游戏项目,手机运行严重发烫,耗电量飞快.在暂时无法做其他美术性和技术性优化的情况下,我写了这个公司内部文档,并做了个实验,今天干脆公布出来,希望对大家有用. --官方文档: Unity - Scr ...

  2. java 实现发送邮件功能

    最近工作项目中需要使用到邮件功能,参考网上的文章,实现了一个基于java的邮件发送功能:直接上代码: 1.依赖 <dependency> <groupId>org.spring ...

  3. 有的时候,给指定的控件,追加一个装饰器Adorner,备注下

    有的时候,给指定的控件,追加一个装饰器Adorner,备注下 比如给某个图片加个工具条等等...都可以采用装饰器的方式来实现,复用性高,易维护,特此备注下 整体效果如下: 1 <Window x ...

  4. CDH6.2.0部署-亲自操作验证可行

    CDH6.2.0部署 PDF文档:https://files.cnblogs.com/files/duxingren/CDH6.2-pdf.zip 郑重声明:并非拿来主义.亲手实践并花费一天时间整理文 ...

  5. Python3 queue

    1.创建一个容器 2.把1-10放入容器 3.输出的时候先判断容器是否为空 4.依次从容器中取出 用法: Queue.qsize() 返回队列的大小 Queue.empty() 如果队列为空,返回Tr ...

  6. idea创建类时默认添加头部注释信息

  7. 一个包含 80+ C#/.NET 编程技巧实战练习开源项目!

    项目介绍 C#/.NET/.NET Core编程常用语法.算法.技巧.中间件.类库.工作业务实操练习集,配套详细的文章教程讲解,助你快速掌握C#/.NET/.NET Core中各种编程常用语法.算法. ...

  8. 经济订货量之"最优经济订货批量和平均存货量和最佳订货次数和订货间隔期和保管费用率"

    案例一(最佳订货量) 案例二(最佳订货量+平均存货量) 年需求 = 每周需求*52周 案例三(保管费用率案例和最佳订货量) 保管费用率案例 案例四(最佳订货批量 + 最佳订货次数) 案例五(最佳订货量 ...

  9. numpy.tile用法

    先说下在numpy中,个人对array的维度的比较形象的理解: array的维度就是从最外边的[]出发(可理解为array的声明),一直找到具体数值而经过的[]的数量(含最后的数值,它是最后一维) 比 ...

  10. SgLang代码细读-1.从req到batch

    SgLang代码细读-1.从req到batch 代码入口 & 初始化 sglang/python/sglang/srt/entrypoints/http_server.py launch_se ...