`
fanguanghui
  • 浏览: 97125 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

J2ME GUI实战之七 ----------LWUIT的Tabbed分页、Text文本

 
阅读更多
本文来自:http://blog.csdn.net/hellogv/ ,转载必须注明出处!

首先,想让大家看看本例实现之后的动画:


首先,先来说说“分页”,Win32控件中,有种控件叫做Tab,这个功能是把一个窗体分层,同时可以容纳更多控件(注:这里的分页并不是B/S的网络数据库中的分页)。
在J2ME中实现Tab,可谓是件好事,包含Tab控件的Class可以作为主类,从而根据需求关联更多的应用。然后,使用Tab效果最好的是触摸屏手机...........
LWUIT里的Text控件,跟原来的Text控件差不多,很多人都疑惑:Text控件输入汉字时,到底是用高级的输入框,还是在当前界面输入........答案是调用高级输入框!
OK,废话少说,直接来代码,这里的代码也是修改自Sample例子:

  1. /*
  2. *Copyright?2008SunMicrosystems,Inc.Allrightsreserved.
  3. *Useissubjecttolicenseterms.
  4. *
  5. */
  6. packagecom.sun.lwuit.uidemo;
  7. importcom.sun.lwuit.Button;
  8. importcom.sun.lwuit.ButtonGroup;
  9. importcom.sun.lwuit.Command;
  10. importcom.sun.lwuit.Container;
  11. importcom.sun.lwuit.Dialog;
  12. importcom.sun.lwuit.Form;
  13. importcom.sun.lwuit.Label;
  14. importcom.sun.lwuit.RadioButton;
  15. importcom.sun.lwuit.TabbedPane;
  16. importcom.sun.lwuit.TextArea;
  17. importcom.sun.lwuit.TextField;
  18. importcom.sun.lwuit.events.ActionEvent;
  19. importcom.sun.lwuit.events.ActionListener;
  20. importcom.sun.lwuit.layouts.BorderLayout;
  21. importcom.sun.lwuit.layouts.BoxLayout;
  22. /**
  23. *本例演示如何使用Tabbed、Text控件
  24. */
  25. publicclassTabbedPaneDemoimplementsActionListener{
  26. publicFormform=newForm("TabbedPaneDemo");
  27. privateCommandbackCommand=newCommand("Back",1);
  28. finalTextAreatitle;
  29. finalTextAreabody;
  30. TabbedPanetp=null;
  31. TabbedPaneDemo(){
  32. form.setLayout(newBorderLayout());
  33. form.setScrollable(false);
  34. form.addCommand(backCommand);
  35. form.setCommandListener(this);
  36. tp=newTabbedPane();
  37. //addTab可以为页面添加控件,也可以是Container(相当于容器的控件)
  38. tp.addTab("Tab1",newLabel("WelcometoTabbedPanedemo!"));
  39. //---------------------第二页的内容------------------------------------
  40. //Container就是一个控件,只不过相当于容器,建议每页有自己的事件处理
  41. ContainerradioButtonsPanel=newContainer(newBoxLayout(BoxLayout.Y_AXIS));
  42. RadioButtontopRB=newRadioButton("Top");
  43. RadioButtonLeftRB=newRadioButton("Left");
  44. RadioButtonBottomRB=newRadioButton("Bottom");
  45. RadioButtonRightRB=newRadioButton("Right");
  46. RadioListenerrbListener=newRadioListener();//自定义接收事件的类
  47. topRB.addActionListener(rbListener);
  48. LeftRB.addActionListener(rbListener);
  49. BottomRB.addActionListener(rbListener);
  50. RightRB.addActionListener(rbListener);
  51. ButtonGroupgroup1=newButtonGroup();
  52. group1.add(topRB);
  53. group1.add(LeftRB);
  54. group1.add(BottomRB);
  55. group1.add(RightRB);
  56. radioButtonsPanel.addComponent(newLabel("Pleasechooseatabplacementdirection:"));
  57. radioButtonsPanel.addComponent(topRB);
  58. radioButtonsPanel.addComponent(LeftRB);
  59. radioButtonsPanel.addComponent(BottomRB);
  60. radioButtonsPanel.addComponent(RightRB);
  61. tp.addTab("Tab2",radioButtonsPanel);
  62. //----------------------第三页的内容----------------------------------
  63. //Container就是一个控件,只不过相当于容器,建议每页有自己的事件处理
  64. ContainerTextPanel=newContainer(newBoxLayout(BoxLayout.Y_AXIS));
  65. ButtonListenertxtListener=newButtonListener();//按钮事件处理
  66. title=newTextField("Title");
  67. title.getStyle().setBgTransparency(100);
  68. body=newTextArea("Thisisthebodyofthealert....",3,20);
  69. body.getStyle().setBgTransparency(100);
  70. finalButtonShowMessage=newButton("ok");
  71. ShowMessage.getStyle().setBgTransparency(100);
  72. ShowMessage.addActionListener(txtListener);
  73. TextPanel.addComponent(title);
  74. TextPanel.addComponent(body);
  75. TextPanel.addComponent(ShowMessage);
  76. tp.addTab("Tab3",TextPanel);
  77. form.addComponent("Center",tp);
  78. }
  79. /**监听radiobuttons事件*/
  80. classRadioListenerimplementsActionListener{
  81. publicvoidactionPerformed(ActionEvente){
  82. Stringtitle=((RadioButton)e.getSource()).getText();
  83. Dialog.show("TabbedPaneDemo",title,"OK",null);
  84. }
  85. }
  86. /**监听buttons事件*/
  87. classButtonListenerimplementsActionListener{
  88. publicvoidactionPerformed(ActionEvente){
  89. Dialog.show(title.getText(),body.getText(),"OK",null);
  90. }
  91. }
  92. /**监听command事件*/
  93. publicvoidactionPerformed(ActionEventarg0){
  94. UIDemoMIDlet.backToMainMenu();
  95. }
  96. }


分享到:
评论

相关推荐

    j2me----api

    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_Loader-1.7.7-open-release.apk

    J2ME手机游戏实例之--俄罗斯方块

    《J2ME手机游戏实例之--俄罗斯方块》 Java Micro Edition(J2ME)是Java平台的一个子集,主要用于嵌入式设备和移动设备,如早期的智能手机。本实例将探讨如何使用J2ME开发经典游戏——俄罗斯方块。在手机上实现这个...

    J2ME游戏源码---泡泡堂

    3. **图形与用户界面**:游戏中的图形和用户交互是通过J2ME的Graphics API来实现的,如`Graphics`类用于绘制图像、文本和形状。此外,`LCDUI`(Limited Connected Device User Interface)组件如`Canvas`用于创建...

    J2ME游戏源码---bubble breaker

    **J2ME游戏开发概述** Java 2 Micro Edition(J2ME)是Java平台的一个子集,主要用于开发在移动设备、嵌入式系统等资源有限的环境中的应用程序,特别是手机游戏。"J2ME游戏源码---bubble breaker"是一个基于J2ME的...

    J2me AES 加密解密 crypto-aes

    终于找到了一个能在J2ME 上面用的了 J2me AES 加密解密 crypto-aes

    j2me_wireless_toolkit-2_2-windows

    j2me_wireless_toolkit-2_2-windows 由于附件不能超过10M,只好分两部分发了

    JAVA游戏编程之三----j2me 手机游戏入门开发--俄罗斯方块_4_增加消除行声音

    在“JAVA游戏编程之三----j2me 手机游戏入门开发--俄罗斯方块_4_增加消除行声音”这个主题中,我们将学习如何在已有的游戏基础上加入消除行时的声音反馈,让游戏体验更加生动有趣。 首先,了解基本的J2ME编程是必要...

    j2me扫雷----适合初学者

    3. **用户界面**:J2ME提供了轻量级用户界面(LWUIT)或基本的用户界面组件,如Canvas。在这个扫雷游戏中,可能使用了Canvas来绘制游戏界面,实现鼠标点击和触摸屏事件的处理。 4. **逻辑控制**:扫雷游戏的逻辑...

    J2ME_Loader-1.5.6-open-release.apk

    安卓手机上的j2me模拟器 可导入本地jar文件 可模拟Java手机(比如塞班)用的软件 可以体验以前的手机操作

    j2me聊天室开发--群聊

    【标题】"j2me聊天室开发--群聊"涉及的是使用Java 2 Micro Edition (J2ME)技术创建一个支持多用户群聊功能的移动应用。J2ME是Java平台的一个子集,主要用于嵌入式设备和移动设备,如手机和平板电脑。这个项目的...

    J2ME重装机兵学习--附原代码和发部文件

    《J2ME重装机兵学习--附原代码和发部文件》是一个关于移动设备上游戏开发的学习资源,特别关注于使用Java 2 Micro Edition (J2ME)平台开发名为“重装机兵”的游戏。J2ME是Java平台的一个子集,主要用于嵌入式系统和...

    J2ME编程----2种方法

    标题中的“J2ME编程——2种方法”指的是...这个J2ME程序实例展示了如何利用基本的GUI组件创建用户交互,并根据用户的选择动态更新UI。这对于理解和实践J2ME编程,尤其是涉及用户界面和事件处理的部分,是非常有价值的。

    j2me休闲小游戏--飞机

    【标题】:“j2me休闲小游戏--飞机” 【描述】中的知识点: 1. **J2ME**: 这个标题表明游戏是基于Java 2 Micro Edition(J2ME)开发的。J2ME是一个Java平台,主要用于移动设备和嵌入式系统,如手机、PDA和家用电器...

    J2ME手机游戏开发--五子棋

    在移动设备技术发展初期,J2ME(Java 2 Micro Edition)是用于开发移动应用程序,尤其是手机游戏的主流平台之一。本项目是一个基于J2ME技术实现的五子棋游戏,展现了开发者对Java编程语言和移动游戏开发的基本理解。...

    JAVA游戏编程之二----j2me MIDlet 手机游戏入门开发--扫雷(2)-不含线程

    扫雷(2)是在扫雷(1)的基础上增加 完善了部分代码基本逻辑不变! 使得游戏更好玩了,代码两也增加到400行,比较适合初学者,可读性强,有详尽的代码注释。 数字键1标红旗,不确定,取消标记。...

    J2ME技术手册---极品

    **七、J2ME优化技巧** 1. **内存管理**:由于资源有限,优化内存使用至关重要,避免创建不必要的对象,及时释放不再使用的资源。 2. **图形性能**:减少绘图操作,尽可能使用位图,避免动态创建图像。 3. **网络通信...

    基于J2ME的Java游戏--坦克大战的开发

    1. **图形用户界面(GUI)设计**:J2ME使用MIDP提供的Canvas类来绘制游戏画面。Canvas允许自定义绘图操作,可以创建游戏的背景、坦克、子弹和其他游戏元素。通过重写draw()方法,开发者可以实现游戏画面的实时更新。...

Global site tag (gtag.js) - Google Analytics