资源简介
GVmaker1.0模拟器J2ME版的Netbeans工程文件
博文链接:https://eastsun.iteye.com/blog/226840
代码片段和文件信息
package eastsun.jgvm.module;
import eastsun.jgvm.module.io.*;
import eastsun.jgvm.module.event.Area;
import eastsun.jgvm.module.event.ScreenChangeListener;
import eastsun.jgvm.module.ram.Getable;
import eastsun.jgvm.module.ram.RuntimeRam;
import eastsun.jgvm.module.ram.Stack;
import eastsun.jgvm.module.ram.StringRam;
import java.io.UnsupportedEncodingException;
import java.util.Calendar;
import java.util.Date;
/**
* 完全支持GVmaker1.0的JGVM实现
* @version 1.0 2008/1/15
* @author Eastsun
*/
final class DefaultGVM extends JGVM {
private static final int FALSE = 0;
private static final int TRUE = -1;
private GvmConfig config;
private RamManager ramManager;
private RuntimeRam runtimeRam;
private StringRam stringRam;
private ScreenModel screen;
private Renderable render;
private TextModel text;
private KeyModel key;
private FileModel file;
private KeyModel.SysInfo keyInf;
private InputMethod input;
private LavApp app;
private Stack stack;
private int seed;
private boolean end;
private Calendar cal = Calendar.getInstance();
private Date date = new Date();
public DefaultGVM(GvmConfig cfg FileModel fileModel KeyModel keyModel) {
this.config = cfg;
runtimeRam = new RuntimeRam(cfg.runtimeRamSize());
stringRam = new StringRam(cfg.stringRamSize());
stack = new Stack(cfg.stackSize());
ramManager = new RamManager(runtimeRam stringRam stack);
text = new TextModel();
screen = ScreenModel.newScreenModel();
render = screen.getRender();
text.setScreenModel(screen);
if (screen.hasRelativeRam()) {
ramManager.install(screen.getGraphRam());
ramManager.install(screen.getBufferRam());
}
if (text.hasRelativeRam()) {
ramManager.install(text.getTextRam());
}
key = keyModel;
keyInf = key.getSysInfo();
file = fileModel;
}
/**
* 设置此GVM运行的lav程序文件并对JGVM做适当的初始化
* @param app GVmaker程序
* @throws java.lang.IllegalStateException 如果不支持此app的运行
*/
public void loadApp(LavApp app) throws IllegalStateException {
if (this.app != null) {
dispose();
}
this.app = app;
end = false;
}
/**
* 卸去目前执行的app并释放及清理相应资源
*/
public void dispose() {
if (this.app == null) {
return;
}
file.dispose();
render.clearBuffer();
render.refresh();
ramManager.clear();
text.setTextMode(0);
this.app = null;
this.end = true;
}
public boolean isEnd() {
return end;
}
public InputMethod setInputMethod(InputMethod im) {
InputMethod oldValue = input;
input = im;
return oldValue;
}
/**
* 运行下一个指令
* @throws java.lang.IllegalStateException 程序已经结束或不支持的操作
* @throws InterruptedException 运行期间当前线程被中断
*/
public void nextStep(
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4122 2008-03-05 19:52 build.xm
文件 5851 2008-07-18 13:30 dist\doc\allclasses-fr
文件 5051 2008-07-18 13:30 dist\doc\allclasses-nofr
文件 32920 2008-07-18 13:30 dist\doc\constant-values.html
文件 5231 2008-07-18 13:30 dist\doc\deprecated-list.html
文件 9699 2008-07-18 13:30 dist\doc\eastsun\jgvm\module\class-use\FileModel.html
文件 9039 2008-07-18 13:30 dist\doc\eastsun\jgvm\module\class-use\GvmConfig.html
文件 10443 2008-07-18 13:30 dist\doc\eastsun\jgvm\module\class-use\InputMethod.html
文件 9507 2008-07-18 13:30 dist\doc\eastsun\jgvm\module\class-use\JGVM.html
文件 12114 2008-07-18 13:30 dist\doc\eastsun\jgvm\module\class-use\KeyModel.html
文件 10978 2008-07-18 13:30 dist\doc\eastsun\jgvm\module\class-use\KeyModel.SysInfo.html
文件 11869 2008-07-18 13:30 dist\doc\eastsun\jgvm\module\class-use\LavApp.html
文件 5920 2008-07-18 13:30 dist\doc\eastsun\jgvm\module\class-use\RamManager.html
文件 7737 2008-07-18 13:30 dist\doc\eastsun\jgvm\module\class-use\Renderable.html
文件 17086 2008-07-18 13:30 dist\doc\eastsun\jgvm\module\class-use\ScreenModel.html
文件 5910 2008-07-18 13:30 dist\doc\eastsun\jgvm\module\class-use\TextModel.html
文件 14241 2008-07-18 13:30 dist\doc\eastsun\jgvm\module\event\Area.html
文件 13491 2008-07-18 13:30 dist\doc\eastsun\jgvm\module\event\class-use\Area.html
文件 10280 2008-07-18 13:30 dist\doc\eastsun\jgvm\module\event\class-use\ScreenChangeListener.html
文件 1294 2008-07-18 13:30 dist\doc\eastsun\jgvm\module\event\package-fr
文件 6945 2008-07-18 13:30 dist\doc\eastsun\jgvm\module\event\package-summary.html
文件 6430 2008-07-18 13:30 dist\doc\eastsun\jgvm\module\event\package-tree.html
文件 9420 2008-07-18 13:30 dist\doc\eastsun\jgvm\module\event\package-use.html
文件 9107 2008-07-18 13:30 dist\doc\eastsun\jgvm\module\event\ScreenChangeListener.html
文件 21727 2008-07-18 13:30 dist\doc\eastsun\jgvm\module\FileModel.html
文件 12926 2008-07-18 13:30 dist\doc\eastsun\jgvm\module\GvmConfig.html
文件 13390 2008-07-18 13:30 dist\doc\eastsun\jgvm\module\InputMethod.html
文件 5951 2008-07-18 13:30 dist\doc\eastsun\jgvm\module\io\class-use\Crc16.html
文件 6061 2008-07-18 13:30 dist\doc\eastsun\jgvm\module\io\class-use\DefaultFileModel.html
文件 7892 2008-07-18 13:30 dist\doc\eastsun\jgvm\module\io\class-use\DefaultKeyModel.html
............此处省略202个文件信息
相关资源
- Visual Studio 2008的黑色主题,Dark Theme
- hibernate一对多关联映射单向关联
- Struts2 入门代码
- VMvare清理工具
- 基于EDA的数据传输系统的HDB3编码器设
- 压力测试工具Apache Bench实现原理及用
- 易语言小说采集器源码
- 易语言关键词排名查询系统源码
- 易语言进程注入源码
- itcast-tools-1.4.2传智播客web工具包
- Vue.js源码全方位深入解析.txt
- 仿淘宝微信小程序源码
- 千方百剂写狗工具
- 串口工具.rar
- STM32F1-MPU9250陀螺仪源码
- ADV7441 Linux 驱动源码
- js前端完整项目源码开放
- 51单片机的简易计算器仿真及源码
- 超级模块POST学习工具
- 最好的在线答题系统源码
- 声源定位源码
- vc编写中国象棋-详细源码+注释
- VS2010彻底卸载工具
- QT编写简易英汉词典的源码
- QT版截图工具源码
- RGB转CMYK小工具
- 一个图上取坐标点的工具软件
- delphi检测USB设备信息序列号串口号等
- 几何画板自定义工具包-800多个小工具
- USB在FPGA上的实现源码
评论
共有 条评论