function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}
本文来自:http://blog.csdn.net/hellogv/ ,转载必须注明出处!
首先先给出本例的效果图:
首先,需要说明一下LWUIT的控件:
LWUIT的控件,可以算是做得很全,他的设计模式跟J2SE有点类似,而做过J2ME的人要掌握也不需要长时间。LWUIT的控件,是原来高级控件与低级控件的集合,并加入了更多元素,因此你可以在用高级控件的同时,很自然地实现低级控件的功能。例如本文中的绘图功能,就是如此!
在本例中,依然使用大家熟悉的void paint(Graphics g)
函数,作为绘图的主体,然而paint的“上司”(绘图类)并不再是继承Canvas,而是继承Component,并且继承Component之后要这
样被调用:form.addComponent(BorderLayout.CENTER, new Painting());//Painting就是“上司”。可见,在LWUIT里,已经没低级控件这个概念,但是有这个用法-----传统的绘图类也作为控件类,被调用了。或许,你想用回原来的javax.microedition.lcdui.Graphics,但是lcdui的Graphics和Display 与 LWUIT的Graphics和Display不兼容(LWUIT多了很多方法),因此“新欢旧爱不能兼得”!
OK,先给出调用绘图功能的代码:
-
privateclassButtonActionListenerimplementsActionListener{
-
publicvoidactionPerformed(ActionEventevt){
-
Stringsel_button=((Button)(evt.getSource())).getText();
-
if(sel_button.equals("Image1"))
-
newAnimationDemo().form.show();
-
elseif(sel_button.equals("Image2"))
-
newPaintingDemo().form.show();
- }
- }
接着再给出绘图功能实现的代码:
-
-
packagecom.sun.lwuit.uidemo;
-
-
importcom.sun.lwuit.Command;
-
importcom.sun.lwuit.Component;
-
importcom.sun.lwuit.Form;
-
importcom.sun.lwuit.Graphics;
-
importcom.sun.lwuit.events.ActionEvent;
-
importcom.sun.lwuit.events.ActionListener;
-
importcom.sun.lwuit.layouts.BorderLayout;
-
-
-
-
-
publicclassPaintingDemoextendsFormimplementsActionListener{
-
publicFormform=newForm("PaintingDemo");
-
privateCommandbackCommand=newCommand("Back",1);
-
privateCommandnextCommand=newCommand("next",2);
- PaintingDemo()
- {
- form.addCommand(backCommand);
- form.addCommand(nextCommand);
-
form.setCommandListener(this);
-
form.setLayout(newBorderLayout());
-
form.addComponent(BorderLayout.CENTER,newPainting());
-
- }
-
publicclassPaintingextendsComponent{
-
privateintw;
-
publicvoidpaint(Graphicsg){
-
g.setColor(0x000000);
-
g.fillRect(0,0,this.getWidth(),this.getHeight());
- w=getWidth();
- drawSqrt1(g);
-
g.setColor(0xffffff);
-
g.drawString("hellogv",12,33);
-
- }
-
privatevoiddrawSqrt1(Graphicsg){
-
longstart=System.currentTimeMillis();
-
-
intcenterY1=50;
-
-
-
-
g.setColor(0x0000FF);
-
g.drawLine(0,centerY1,w,centerY1);
-
-
-
g.setColor(0xFFFFFF);
-
intoldX=0;
-
intoldY1=centerY1;
-
-
inty1;
-
for(inti=1;i<w;i++){
-
-
y1=centerY1-(int)(3*Math.sqrt(i));
- g.drawLine(oldX,oldY1,i,y1);
- oldX=i;
- oldY1=y1;
- }
-
longtime=System.currentTimeMillis()-start;
-
System.out.println("drawSqrt1Runtime:"+time);
- }
-
- }
-
publicvoidactionPerformed(ActionEventarg0){
-
if(arg0.getCommand()==backCommand)
- {
- UIDemoMIDlet.backToMainMenu();
- }
-
elseif(arg0.getCommand()==nextCommand)
- {
- }
- }
- }
OK,还是那句,希望大家多多支持LWUIT,让它可以做得更加好!
分享到:
相关推荐
j2me----api j2me----api j2me----api j2me----api j2me----api j2me----api j2me----api j2me----api j2me----api j2me----api
J2ME_Loader-1.7.7-open-release.apk
《J2ME手机游戏实例之--俄罗斯方块》 Java Micro Edition(J2ME)是Java平台的一个子集,主要用于嵌入式设备和移动设备,如早期的智能手机。本实例将探讨如何使用J2ME开发经典游戏——俄罗斯方块。在手机上实现这个...
【J2ME游戏源码---泡泡堂】是一个适合初学者和有一定基础的开发者研究的游戏项目,主要用于学习J2ME(Java Micro Edition)平台上的游戏开发技术。J2ME是Java平台的一个子集,专为资源有限的移动设备如手机、PDA等...
**J2ME游戏开发概述** Java 2 Micro Edition(J2ME)是Java平台的一个子集,主要用于开发在移动设备、嵌入式系统等资源有限的环境中的应用程序,特别是手机游戏。"J2ME游戏源码---bubble breaker"是一个基于J2ME的...
终于找到了一个能在J2ME 上面用的了 J2me AES 加密解密 crypto-aes
在“JAVA游戏编程之三----j2me 手机游戏入门开发--俄罗斯方块_4_增加消除行声音”这个主题中,我们将学习如何在已有的游戏基础上加入消除行时的声音反馈,让游戏体验更加生动有趣。 首先,了解基本的J2ME编程是必要...
j2me_wireless_toolkit-2_2-windows 由于附件不能超过10M,只好分两部分发了
1. **J2ME基础**:首先,了解J2ME的基本架构,包括MIDP (Mobile Information Device Profile) 和CLDC (Connected Limited Device Configuration),这两个是J2ME的核心部分,分别处理应用框架和虚拟机功能。...
安卓手机上的j2me模拟器 可导入本地jar文件 可模拟Java手机(比如塞班)用的软件 可以体验以前的手机操作
【标题】"j2me聊天室开发--群聊"涉及的是使用Java 2 Micro Edition (J2ME)技术创建一个支持多用户群聊功能的移动应用。J2ME是Java平台的一个子集,主要用于嵌入式设备和移动设备,如手机和平板电脑。这个项目的...
学习如何使用 MIDlet 类来创建可安装的J2ME应用程序,以及Canvas类用于自定义绘图。 3. **图形与动画**:在“重装机兵”这样的游戏中,图形和动画是关键。你需要学习如何使用J2ME的低级图形API,如Graphics类,来...
1. **图形用户界面(GUI)设计**:J2ME使用MIDP提供的Canvas类来绘制游戏画面。Canvas允许自定义绘图操作,可以创建游戏的背景、坦克、子弹和其他游戏元素。通过重写draw()方法,开发者可以实现游戏画面的实时更新。...
在移动设备技术发展初期,J2ME(Java 2 Micro Edition)是用于开发移动应用程序,尤其是手机游戏的主流平台之一。本项目是一个基于J2ME技术实现的五子棋游戏,展现了开发者对Java编程语言和移动游戏开发的基本理解。...
**五、J2ME开发工具** 1. **NetBeans**:提供完整的J2ME开发环境,包括IDE、模拟器和调试工具。 2. **Eclipse**:通过插件(如J2ME Polish)支持J2ME开发。 3. **J2ME Wireless Toolkit (J2ME WTK)**:Sun ...
【标题】:“j2me休闲小游戏--飞机” 【描述】中的知识点: 1. **J2ME**: 这个标题表明游戏是基于Java 2 Micro Edition(J2ME)开发的。J2ME是一个Java平台,主要用于移动设备和嵌入式系统,如手机、PDA和家用电器...
J2ME中的`Canvas`类提供了基本的绘图功能。在俄罗斯方块游戏中,我们需要在`Canvas`上绘制方块,这涉及到坐标系统、颜色填充以及形状绘制等概念。 4. **方块设计** 俄罗斯方块的基本元素是各种形状的方块,如直线...
标题中的“J2ME编程——2种方法”指的是...这个J2ME程序实例展示了如何利用基本的GUI组件创建用户交互,并根据用户的选择动态更新UI。这对于理解和实践J2ME编程,尤其是涉及用户界面和事件处理的部分,是非常有价值的。
扫雷(2)是在扫雷(1)的基础上增加 完善了部分代码基本逻辑不变! 使得游戏更好玩了,代码两也增加到400行,比较适合初学者,可读性强,有详尽的代码注释。 数字键1标红旗,不确定,取消标记。...