import java.io.IOException;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.io.file.IllegalModeException;
import javax.microedition.lcdui.*;
import javax.microedition.media.*;
import javax.microedition.media.control.*;
class DemoCanvas extends Canvas{
byte C4 = ToneControl.C4;
byte D4 = (byte)(C4+2);
byte E4 = (byte)(C4+4);
byte G4 = (byte)(C4+5);
byte S4 = (byte)(C4+7);
byte L4 =(byte)(C4+9);
byte X4 = (byte)(C4+11);
byte O4 = (byte)(C4+13);
private void simpleTone(){
try{
Manager.playTone(ToneControl.C4, 100, 80);
}catch (Exception ex){}
}
protected void keyPressed(int keyCode){
if(keyCode == KEY_NUM1)
{
simpleTone();
}
else if(keyCode == KEY_NUM2)
{
try{
Manager.playTone(D4, 100, 80);
}catch (Exception ex){}
}else
if(keyCode == KEY_NUM3){
try{
Manager.playTone(E4, 100, 80);
}catch (Exception ex){}
}
else if(keyCode == KEY_NUM4){
try{
Manager.playTone(G4, 100, 80);
}catch (Exception ex){}
}
else if(keyCode == KEY_NUM5)
{
try{
Manager.playTone(S4, 100, 80);
}catch (Exception ex){}
}
else if(keyCode == KEY_NUM6){
try{
Manager.playTone(L4, 100, 80);
}catch (Exception ex){}
}else if(keyCode == KEY_NUM7)
{
try{
Manager.playTone(X4, 100, 80);
}catch (Exception ex){}
}else if(keyCode == KEY_NUM8){
try{
Manager.playTone(O4, 100, 80);
}catch (Exception ex){}
}
}
protected void paint(Graphics g) {
g.setColor(0x00FF6633);
g.fillRect(0, 0, this.getWidth(), this.getHeight());
g.setColor(0x00ffffff);
g.drawString("│5 3 3 -│4 2 2 -│1 2 3 4│5 5 5 -│ ", 0, 0, Graphics.TOP|Graphics.LEFT);
g.drawString("│5 3 3 -│4 2 2 -│1 3 5 5│3 - - -│ ", 0, 40, Graphics.TOP|Graphics.LEFT);
g.drawString("│2 2 2 2│2 3 4 -│3 3 3 3│3 4 5 -│ ", 0, 80, Graphics.TOP|Graphics.LEFT);
g.drawString("│5 3 3 -│4 2 2 -│1 3 5 5│1 - - -│ ", 0, 120, Graphics.TOP|Graphics.LEFT);
g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_LARGE));
g.drawString("请根据以上乐谱弹奏可爱的《小蜜蜂》吧 ", 0, 140, Graphics.TOP|Graphics.LEFT);
}
}
public class PlaySimpleTone extends MIDlet implements CommandListener {
private Player mp;
private Display display;
private DemoCanvas myDemo;
private Command exitCommand = new Command("Exit",Command.EXIT,1);
private Command playCommand = new Command("Play",Command.ITEM,1);
public PlaySimpleTone() {
display = Display.getDisplay(this);
myDemo = new DemoCanvas();
myDemo.addCommand(exitCommand);
myDemo.addCommand(playCommand);
myDemo.setCommandListener(this);
}
public void commandAction(Command c,Displayable s)
{
if(c == exitCommand){
try {
destroyApp(false);
} catch (MIDletStateChangeException e) {
e.printStackTrace();
}
notifyDestroyed();
}
else if(c == playCommand){
simpleTone();
}
}
private void simpleTone(){
try{
Manager.playTone(ToneControl.C4, 100, 80);
}catch (Exception ex){}
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}
protected void pauseApp() {
}
protected void startApp() throws MIDletStateChangeException {
display.setCurrent(myDemo);
}
}
分享到:
相关推荐
**J2ME手机程序开发** Java 2 Micro Edition(J2ME)是Java平台的一个子集,主要用于嵌入式设备和移动设备,如早期的智能手机和平板电脑。它提供了开发和部署小型应用程序,称为MIDlets,的能力。J2ME在手机程序...
J2ME应用程序性能优化J2ME应用程序性能优化
在本教程中,我们将深入探讨如何使用Eclipse IDE来开发J2ME(Java 2 Micro Edition)应用程序。Eclipse是一款广泛使用的开源集成开发环境,它为各种编程语言提供了强大的支持,包括Java。J2ME是Java平台的一个子集,...
本教程将引导初学者深入理解J2ME手机程序开发,帮助你快速入门并掌握核心概念。 1. **J2ME概述** J2ME由Java ME配置(Configurations)和Java ME框架(Profiles)组成。配置定义了设备的基本能力,如内存大小和...
**基于Eclipse环境的J2ME应用程序开发** Java 2 Micro Edition(J2ME)是Java平台的一个子集,主要用于嵌入式设备和移动设备,如手机、智能家电等。Eclipse作为流行的Java开发集成环境,提供了强大的工具支持,使得...
【标题】"我的第一个J2ME程序(计算器)" 涉及到的知识点主要围绕Java Micro Edition (J2ME) 开发,特别是如何利用J2ME来创建一个基础的计算器应用。J2ME是Java平台的一个子集,专门用于嵌入式设备和移动设备,如早期...
【基于Eclipse环境的J2ME应用程序开发实例源码】是一个关于使用Eclipse集成开发环境进行J2ME(Java 2 Micro Edition)应用编程的教学资源。J2ME是Java平台的一个子集,主要用于嵌入式设备和移动设备,如手机、智能...
**使用NetBeans开发J2ME应用程序** Java 2 Micro Edition(J2ME)是一种轻量级的Java平台,主要用于移动设备、嵌入式系统和其他有限资源的设备上开发应用程序。NetBeans IDE是一款强大的集成开发环境,它为J2ME应用...
J2ME的游戏程序开发则是利用J2ME平台开发可在手机等移动设备上运行的简单游戏。由于设备资源有限,J2ME游戏通常比PC游戏或游戏机游戏简单许多。下面将围绕J2ME游戏程序开发的关键知识点进行详细解释。 1. J2ME的...
标题提到的"J2me版摄像头拍照程序"是一个利用 J2ME 技术实现的移动应用,允许用户通过手机内置的摄像头进行拍照,并提供了其他相关功能。 1. **J2ME架构**: J2ME 包含了配置(Configurations)和 profiles(配置...
6. **音效与音乐**:J2ME的`MIDI`和`WavePlayer`接口可用于播放背景音乐和音效。开发者需要考虑如何在有限的硬件条件下实现音效的无缝播放。 7. **碰撞检测**:赛车游戏中的碰撞检测是必不可少的,它涉及到赛道边界...
**J2ME贪吃蛇原程序详解** Java 2 Micro Edition (J2ME) 是一种针对小型设备,如移动电话和嵌入式系统的Java平台。它由两部分组成:KVM(K Virtual Machine)和MIDP(Mobile Information Device Profile)。在本...
**使用Eclipse开发J2ME应用程序(上)** 在移动设备和嵌入式系统的世界里,J2ME(Java 2 Micro Edition)是用于开发应用程序的首选平台之一。Eclipse,作为一个强大的开源集成开发环境(IDE),也提供了对J2ME开发...
**J2ME手机程序入门详解** Java 2 Micro Edition(J2ME)是Java平台的一个重要组成部分,专门设计用于资源有限的嵌入式设备,尤其是移动设备如智能手机和平板电脑。J2ME提供了丰富的功能,使得开发者能够创建各种...
【Eclipse开发J2ME手机程序】涉及到的关键知识点如下: 1. **J2ME (Java 2 Micro Edition)**: J2ME 是Java平台的一个子集,专为资源有限的嵌入式设备设计,如手机、PDA等。它由配置(Configuration)和简表...
《1945 J2ME 开源程序:深入解析经典飞行射击游戏的移动实现》 在移动设备尚未普及高性能3D图形的时代,J2ME(Java Micro Edition)作为一款跨平台的开发工具,广泛应用于手机游戏开发。其中,1945是一款经典的飞行...
在这个J2ME实现的画图程序中,我们主要关注的是如何在移动设备上利用Java Micro Edition(J2ME)框架创建一个简单的画图应用。J2ME是Java平台的一个子集,专门用于嵌入式设备,如手机和PDA。在这个程序中,核心功能...
**J2ME中文教程——开启手机程序开发之旅** Java 2 Micro Edition(J2ME)是Java平台的一个重要分支,专为资源有限的嵌入式设备设计,包括移动电话、智能家电、数字电视等。本教程将深入讲解J2ME在手机程序开发中的...