j2me 如何做一个Panel

jiejie526 2010-08-04 08:45:08
我想做一个Panel,在J2ME中并没有SWING等这些包,请教高手如何才能做出这样的Panel
...全文
50 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiejie526 2010-08-04
  • 打赏
  • 举报
回复

1.package com.mopietek;
2.
3.import java.io.IOException;
4.
5.import javax.microedition.midlet.MIDlet;
6.import javax.microedition.midlet.MIDletStateChangeException;
7.
8.import com.sun.lwuit.Display;
9.import com.sun.lwuit.Form;
10.import com.sun.lwuit.TextArea;
11.import com.sun.lwuit.events.ActionEvent;
12.import com.sun.lwuit.events.ActionListener;
13.import com.sun.lwuit.layouts.BorderLayout;
14.import com.sun.lwuit.plaf.UIManager;
15.import com.sun.lwuit.util.Resources;
16.
17.public class TextAreaLwuit extends MIDlet implements ActionListener{
18.
19. protected void destroyApp(boolean unconditional)
20. throws MIDletStateChangeException {
21. // TODO Auto-generated method stub
22.
23. }
24.
25. protected void pauseApp() {
26. // TODO Auto-generated method stub
27.
28. }
29.
30. protected void startApp() throws MIDletStateChangeException {
31. // TODO Auto-generated method stub
32. Display.init(this);
33. try {
34. Resources res = Resources.open("/javaTheme.res");
35. UIManager.getInstance().setThemeProps(res.getTheme("javaTheme"));
36. } catch (IOException e) {
37. // TODO Auto-generated catch block
38. e.printStackTrace();
39. }
40.
41. Form form = new Form("Test TextAreaLwuit");
42. form.setLayout(new BorderLayout());
43. TextArea textArea = new TextArea(5,20,TextArea.NUMERIC);
44. //设置TextArea是否可编辑,true为可编辑,false为不可编辑
45. textArea.setEditable(true);
46. form.addComponent(BorderLayout.NORTH,textArea);
47. form.show();
48.
49.
50.
51.
52. }
53.
54. public void actionPerformed(ActionEvent arg0) {
55. // TODO Auto-generated method stub
56.
57. }
58.
59.}
package com.mopietek;

import java.io.IOException;

import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

import com.sun.lwuit.Display;
import com.sun.lwuit.Form;
import com.sun.lwuit.TextArea;
import com.sun.lwuit.events.ActionEvent;
import com.sun.lwuit.events.ActionListener;
import com.sun.lwuit.layouts.BorderLayout;
import com.sun.lwuit.plaf.UIManager;
import com.sun.lwuit.util.Resources;

public class TextAreaLwuit extends MIDlet implements ActionListener{

protected void destroyApp(boolean unconditional)
throws MIDletStateChangeException {
// TODO Auto-generated method stub

}

protected void pauseApp() {
// TODO Auto-generated method stub

}

protected void startApp() throws MIDletStateChangeException {
// TODO Auto-generated method stub
Display.init(this);
try {
Resources res = Resources.open("/javaTheme.res");
UIManager.getInstance().setThemeProps(res.getTheme("javaTheme"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

Form form = new Form("Test TextAreaLwuit");
form.setLayout(new BorderLayout());
TextArea textArea = new TextArea(5,20,TextArea.NUMERIC);
//设置TextArea是否可编辑,true为可编辑,false为不可编辑
textArea.setEditable(true);
form.addComponent(BorderLayout.NORTH,textArea);
form.show();




}

public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub

}

}



TabbedPane组件的使用说明代码如下:


Java代码
1.package com.mopietek;
2.
3.import java.io.IOException;
4.
5.import javax.microedition.midlet.MIDlet;
6.import javax.microedition.midlet.MIDletStateChangeException;
7.
8.import com.sun.lwuit.Display;
9.import com.sun.lwuit.Form;
10.import com.sun.lwuit.Label;
11.import com.sun.lwuit.TabbedPane;
12.import com.sun.lwuit.events.ActionEvent;
13.import com.sun.lwuit.events.ActionListener;
14.import com.sun.lwuit.layouts.BorderLayout;
15.import com.sun.lwuit.plaf.UIManager;
16.import com.sun.lwuit.util.Resources;
17.
18.public class TabbedPaneLwuit extends MIDlet implements ActionListener{
19.
20. protected void destroyApp(boolean unconditional)
21. throws MIDletStateChangeException {
22. // TODO Auto-generated method stub
23.
24. }
25.
26. protected void pauseApp() {
27. // TODO Auto-generated method stub
28.
29. }
30.
31. protected void startApp() throws MIDletStateChangeException {
32.
33. Display.init(this);
34. try {
35. Resources res = Resources.open("/javaTheme.res");
36. UIManager.getInstance().setThemeProps(res.getTheme("javaTheme"));
37. } catch (IOException e) {
38. // TODO Auto-generated catch block
39. e.printStackTrace();
40. }
41.
42. Form form = new Form("Test CheckBox");
43. form.setLayout(new BorderLayout());
44. TabbedPane tabbedPane = new TabbedPane(TabbedPane.TOP);
45. tabbedPane.addTab("Tab1", new Label("I am a TabbedPane!"));
46. tabbedPane.addTab("Tab2", new Label("Tab number 2"));
47. form.addComponent(BorderLayout.NORTH,tabbedPane);
48. form.show();
49. }
50.
51. public void actionPerformed(ActionEvent arg0) {
52. // TODO Auto-generated method stub
53.
54. }
55.
56.}

目 录 一、课设任务及要求 1 二、需求分析 2 三、设计思路 3 四、详细设计 5 五、运行调试与分析讨论 9 六、设计体会与小结 14 七、参考文献 15 附录 16 中文摘要 Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。用Java实现 的HotJava浏览器,显示了Java的魅力:跨平台、动感的Web、Internet计算。从此,Ja va被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。Java平台由Java虚拟机和Java 应用编程接口构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩 展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现 在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在 各种系统中运行。 Java分为三个体系J2SE,J2EE,J2ME。 说起计算器,值得我们骄傲的是,最早的计算工具的诞生地是中国。 在17世纪初,西方国家的计算工具才有了较大的发展,英国数学家纳皮尔发明的"纳 皮尔算筹",英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅能加减乘除、 乘方、开方运算,甚至可以计算三角函数,指数函数和对数函数,这些计算工具不仅带 动了计算器的发展,也为现代计算器发展奠定了良好的基础,进而成为了现代社会应用 广泛的计算工具。 关键词:java Java平台 计算器 课设任务及要求 1.课设任务 这次课程设计选择的题目为设计一个图形界面(GUI)的计算器应用程序,完成简单 的算术运算。 这次课程设计的基本要求为设计的计算器应用程序可以完成加法、减法、乘法、除 法和取余运算,且有小数点、正负号、求倒数、退格和清零功能。拓展功能根据自己的 能力添加。 这次课程设计的我选择添加的拓展功能为开平方根,平方,立方,判断素数,求lo g的功能。 本程序主要练习使用布局管理器设计一个计算器的界面,并练习使用事件监听器处 理数据的输入,并完成相关的计算。数据和运算符号的存储采用动态链表这种数据结构 实现。 这次课程设计选择的Java运行环境为: Windows XP sp3 +Eclipse+JDK 1.6 二、需求分析 1.系统功能需求分析 计算器是现在一个普遍应用的工具,能够解决许多人所无法计算的数据,节省大量 宝贵的时间。 2.系统功能分析 为了实现计算器系统的功能.主要有二个功能模块:输入、输出。 3.系统设计原则 基于计算器系统要具有适用性广、操作简便等特点.本系统预计要达到以下几个目标 : (1)、满足以上的功能要求; (2)、能够运行在常见的计算机及其配置上; 三、设计思路 1.关于布局问题 本次课程设计程序继承来自框架类(Frame),总体布局上选用布局管理器BorderLayout: (1)将单行文本框加入到"North"区域 (2)将面板panel加入到"Center"区域,同时panel包含了各种数字按钮和符号按钮。 面板panel采用Girdlayout布局,选用5行*5列,将各种按钮添加到面板panel,并增加按 钮监听事件。 布局完成后的效果图如下: 2.关于数据存储问题 计算器完成的是一个数学表达式,本次课程设计我选用的是使用链表(Linkedlist类 )来存储数字和运算符号。程序运行后,输入的所有数字及运算符号都全部存储在链表中 ,待最后运算时,再一一求出来进行计算。 3.关于事件监听的处理问题 计算器的各种按钮都需要一个对象来进行监视,以便对发生的事件出处理。计算器 的各种按钮通过调用相应的方法将某个对象作为自己的监视器。 例如计算器中的数字按钮,其方法为: AddActionListener(监视器); 对于获取了监视器的数字按钮,通过相应的操作就会导致事件的发生,并通知监视器 ,监视器就会出相应的处理。 四、详细设计 1.计算器系统主要功能模块 (1)、系统主要模块实现的功能 系统输入模块实现数字以及计算符号输入的功能,输出模块的结果在文本框中实现显 示。 (2)、系统输入窗体实现的效果 系统输入窗体设计效果如图所示: 上图为按数字键1234567890后,在文本框中的显示 (3)、系统主要模块功能描述 功能描述: 菜单项"计算器"主要服务于使用者.它包含了"输入"、"输出"、 两个功能。 输入功能:当使用者将数字输入后,会出现数字的显示;当使用者将计算符号输入时 候会有计算符号的录入。 输出功能:点击"输出"选项后.可实现计算的结果。 2.系统的实现 (1) 系统源文件类之间的关系 计算器系统共有3个java源文件:Calcul
Java程序设计复习题2 1、下列关于Java Application与Java Applet程序的差别描述正确的是(B ) A) 运行方式不同,程序结构相同,运行工具不同,受到的限制相同 B) 运行方式相同,程序结构不同,运行工具不同,受到的限制相同 C) 运行方式相同,程序结构相同,运行工具不同,受到的限制也不同 D) 运行方式不同,程序结构不同,运行工具不同,受到的限制也不同 2、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点( B ) A) 安全性 B) 多线性 C) 跨平台 D) 可移植 3、Java语言中的int及char数据类型的长度分别为? A) 16位和8 位 B) 8位和16位 C) 32位和16位 D) 32位和8位 4、数组的哪个实例变量可以确定数组的长度( B ) A) size B) length C) max_value D) Length() 5、异常包含下列那些内容( C ) A) 程序中的语法错误 B) 程序的编译错误 C) 程序执行过程中遇到的事先没有预料到的情况 D) 程序事先定义好的可能出现的意外情况 6、java语言在语言的类型上应属于那种类型的语言D A) 编译型的语言 B) 解释型的编译语言 C) 脚本型的解释语言 D) 编译链接型的语言 7、java语言在编程方法上及语言的语法规则上与如下那种编程语言最接近B A) C 语言 B) C++语言 C) Basic 语言 D) Fortran 语言 8、监听事件和处理事件(C ) A) 都由Listener完成 B) 都由相应事件Listener处登记过的构件完成 C) 由Listener和构件分别完成 D) 由Listener和窗口分别完成 9、在MicroSoft Windows操作系统应用平台下,下列那种程序是java程序的解释器D A) Windows系统的资源管理器 B) Windows操作系统本身 C) Windows操作系统应用平台下的IE浏览器 D) Windows操作系统应用平台下的记事本notepad程序 10、下面说法正确的是(B ) A) final 可修饰类、属性、方法。 B) abstract可修饰类、属性、方法。 C) 定义抽象方法需有方法的返回类型、名称、参数列表和方法体。 D) 用final修饰的变量,在程序中可对这个变量的值进行更改。 11、下列哪个属于容器的构件( A ) A) JFrame B) JButton C) Panel D) JApplet 12、下列那种标识符在java程序中是错误的D A) MyClass_Base12 B) _MyClass$Base12 C) $MyClass_12 D) 76MyClass$12 13、下列叙述中,正确的是( C ) A)Reader是一个读取字符文件的接口 B)Reader是一个读取数据文件的抽象类 C)Reader是一个读取字符文件的抽象类 D)Reader是一个读取字节文件的一般类 14、main 方法是 Java Application 程序执行的入口点,关于 main 方法的方法头以下哪项是合法的( B ) A)public static void main ( ) B)public static void main ( String args[] ) C)public static int main ( String [] arg ) D)public void main ( String arg[] ) 15、下列代码中,将引起编译错误的行是( B ) 1)public class Exercise{ 2) public static void main(String args[]){ 3) float f=0.0; 4) f+=1.0; 5) } 6) } A) 第2行 B) 第3行 C) 第4行 D) 第6行 16、下列各种java中的条件语句,那种在java语言中是错误的条件格式? A) if (A >= B) B) if( A = = B) C) if( A = B) D) if((A >B) = =true) 17、下列Java常见事件类中哪个是鼠标事件类( C ) A)InputEvent B)KeyEvent C)MouseEvent D)WindowEvent 18、下列哪个是面向大型企业级用容器管理专用构件的应用平台( A) A)J2EE B)J2ME C)J2SE D)J2DE 19、何时线程进入runnable 阶段( ) A)当调用get() 方法时 B)当调用setTime() 方法时 C)当调用showStatus() 方法时 D)当调用start()方法时 20、下

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧