使用NetBeans进行J2ME开发(三):低级图形用户界面Canvas

在这一篇中,我将向大家介绍图形用户界面中的低级图形用户界面。所谓低级图形用户界面,指的是那种我们可以自己在上面画图的控件,它是和TextBox,List等等这些用户控件刚好相对的概念,因为这些用户控件的形状是事先画好的,无需我们程序员操心,所以称为高级图形界面。低级图形用户界面什么东西都需要我们自己画,所以比较复杂,当然也更加灵活,只有想不到,没有画不出,所以我们先介绍它。

在J2ME开发中,低级图形用户界面是由javax.microedition.lcdui.Canvas类实现的,我们只要继承这个类,并实现这个类的paint方法,就可以随心所欲的进行绘画了。当然,绘画之前,我们少不了要了解我们的手机屏幕究竟有多大的画图空间,这可以通过调用Canvas类的getWidth和getHeight方法实现。下面是一个简短的程序,向大家演示了怎么获画布的大小,同时,也算是一个小小的框架。首先,当然是创建我们自己的画布,代码如下: package com.xkland.j2me;

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
/** *//**
*
* @author 海边沫沫
*/
public class MyCanvas extends Canvas {
   /** *//** Creates a new instance of MyCanvas */
   public MyCanvas() {
   }
   public void clearBackground(Graphics g){
     int color = g.getColor();
     g.setColor(0xffffff);
     g.fillRect(0,0,getWidth(),getHeight());
     g.setColor(color);
   }
   public void paint(Graphics g){
     //清除背景
     clearBackground(g);
     //显示可供绘图的区域的大小
     g.drawString("宽度:",10,10,Graphics.LEFT|Graphics.TOP);
     g.drawString(String.valueOf(getWidth()),50,10,Graphics.LEFT|Graphics.TOP);
     g.drawString("高度:",10,25,Graphics.LEFT|Graphics.TOP);
     g.drawString(String.valueOf(getHeight()),50,25,Graphics.LEFT|Graphics.TOP);
   }
}

第二个类当然就是我们的Midlet了,因为它是主程序嘛。在程序启动的时候调用display.setCurrent将画布设置为主界面,同时设置事件监听器。代码比较简单,如下: packagecom.xkland.j2me;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/** *//**
*
* @author 海边沫沫
* @version
*/
public class CanvasTest extends MIDlet{
   private Canvas canvas = new MyCanvas();
   private Display display = null;
   private Command exitCommand = new Command("退出",Command.EXIT,1);
   public void startApp() {
     if(display==null){
       display = Display.getDisplay(this);
       canvas.addCommand(exitCommand);
       canvas.setCommandListener(new MyCommandListener(this,canvas));
       display.setCurrent(canvas);
     }
   }
   public void pauseApp() {
   }
   public void destroyApp(boolean unconditional) {
   }
}

时间: 2024-09-08 18:42:43

使用NetBeans进行J2ME开发(三):低级图形用户界面Canvas的相关文章

使用NetBeans进行J2ME开发(四):高级图形用户界面

本来我介绍完J2ME的低级图形界面Canvas就想直接跳到游戏开发API,但是为了内容的完整性,我决定还是把高级图形用户界面简单介绍一下.不过重点不一样,我不会很详细的将各个类怎么使用,我只是向大家演示一下NetBeans的可视化开发功能和高级图形用户界面在手机上的运行效果.让图片说话吧. 1.在项目中新建MIDlet的时候,选择Visual MIDlet,如下图: 2.弹出可视化设计界面,如下图:

使用NetBeans进行J2ME开发(五):揭开游戏开发的神秘面纱

游戏开发,好大的一个命题哦.无论是游戏的剧情设计,还是游戏的美工制作,那都不是一两下子能够完成的事,而编程,只是其中的一小部分.但是,就算是这一小部分,我也不可能把它掌握得很透彻.这篇随笔,大部分都是些抄书的东西,主要是为了我的博客的完整性而存在,但是我依然会尽力把它写好,要让那些精通Java其它领域但是却没有机会做J2ME开发的高手们看看图片解解馋,让那些想做手机游戏开发的同仁们看看J2ME的Game API究竟为我们提供了哪些支持,让我们知道写游戏需要了解哪些概念. 先来了解一下MIDP 2

使用NetBeans进行J2ME开发(一):别让程序员的手机闲着

我们是程序员,我们没有各种各样的应酬,电脑和网络就是我们的整个世界.上班之余,我们该如何自娱自乐呢?想一想我们每天别在裤腰带上的手机,再想一想我们已经非常熟悉Java,那么,我们为什么不写几个J2ME的手机程序玩玩呢? 首先,我们需要搭建一个开发环境.Eclipse和NetBeans都是好选择.我这里选择的是NetBeans 5.5.1加Mobile Pack 5.5.1, 它们的下载地址如下图: 点击上面的Download NetBeans IDE按钮,就可以进入到详细的下载页面,如下图,这里

使用NetBeans进行J2ME开发(二):把程序转移到手机上

上一篇,我们见识了编写一个手机程序其实很简单.但是很多人大概不是很明白怎样把程序转移到手机上,不信你就试试,不管你是用数据线,还是用红外蓝牙,都无法把电脑上的程序弄到手机上运行,也没办法把别人手机上的游戏弄到自己的手机上运行(传输普通数据可以,就是程序不行).我有一次就是看到别人的手机上有很多游戏,想转移过来,怎么试都不行. 为什么会这样?这是因为Java程序在到手机上运行之前,必须经过一个安装过程,而这个安装过程,是通过你的手机的AMS(应用程序管理软件)完成的,而这个AMS只能从网上下载程序

利用J2ME开发移动3D游戏之3D图形API

简述 现在,移动游戏和移动应用开发极为热门!游戏中需要有时髦漂亮的图形,其设计标准比以前任何时候都要高.本文将告诉你怎样用酷毙的移动3D图形API为J2ME设备开发3D图形游戏. 如果你在用MIDP1.0进行用户接口编程,那么有两条路你可以选择:使用高级的UI类或者一切由你自己从头开始.作为游戏开发者,第一种选择往往是不可能的:这是为什么游戏开发者不得不为他们的高级游戏开发自己的3D引擎的原因.无疑,这需要付出大量的时间和努力,而缺乏浮点数支持的CLDC 1.0(MIDP 1.0正是建于其上)对

为J2ME开发移动3D游戏之立即模式

一.简述 现在,移动游戏和移动应用开发极为热门!游戏中需要有时髦漂亮的图形,其设计标准比以前任何时候都要高.本文将告诉你怎样用酷毙的移动3D图形API为J2ME设备开发3D图形游戏. 如果你在用MIDP1.0进行用户接口编程,那么有两条路你可以选择:使用高级的UI类或者一切由你自己从头开始.作为游戏开发者,第一种选择往往是不可能的:这是为什么游戏开发者不得不为他们的高级游戏开发自己的3D引擎的原因.无疑,这需要付出大量的时间和努力,而缺乏浮点数支持的CLDC 1.0(MIDP 1.0正是建于其上

J2ME开发环境搭建 之 EclipseMe

J2ME开发环境搭建 之 EclipseMe   第一节    初识Eclipse Eclipse是一个开发源代码,基于java的可扩展开发平台,它是在OSI(Open Software Initiative 开发源代码计划)认可的通用公共许可证(CPL)版下被授予许可证的集成开发平台(IDE).作为当今最流行的java开发IDE之一,java社群使用Eclipse以及基于Eclipse技术而来的IBM Websphere的开发者已经超过了半数. Eclipse本身只是一个框架和一组响应的服务,

J2ME开发环境搭建 之 Sun WTK

什么是J2ME Wireless Toolkit WTK 的全称是Sun J2ME Wireless Toolkit -- Sun的无线开发工具包,使用其中的工具可以开发在与 Java Technology for the Wireless Industry (JTWI, JSR 185) 规范兼容的设备上运行的 Java 应用程序.该工具箱包含生成工具.实用程序以及设备仿真器.到本文写作时为止可以获取有四个版本,分别是1.0.4, 2.0, 2.1和2.2.每个版本都包括英语,日语,简体中文,

J2ME开发的体会

J2ME方面开发的资料,确实是少之又少,一般给新手推荐的都是王森先生的<PDA与手机开发入门>一书,然而该书其实并不适合新人阅读,该书的前几章花了很大篇幅来讲解命令行调试J2ME程序的方法和很多要点,其实这些东西,作为一个初级的J2ME开发者来说,完全没有必要学习和掌握,反而只会给自己平添很多负担.现在做J2ME开发,大多都有了IDE(集成开发环境),比如JB,Eclipse什么的,就算是用最简单的WTK,也不需要进行path的配置等操作,所以初学者完全可以跳过这些内容,直接上手.我的认为,做