`

J2ME GUI实战之四 ----------LWUIT的Button使用以及窗体布局

阅读更多
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/ ,转载必须注明出处!
BorderLayout,就是把窗体布局分成东、南、西、北、中这5部分
//BoxLayout-X,就是把控件从左往右排列
//BoxLayout-Y,就是把控件从上往下排列
//FlowLayout,就是把控件按行排列,一行装不下则放到第二行......
//GridLayout,这就是实现九宫图的排列方式!!!!!

LWUIT要求使用Form和任何控件,都要设置窗体布局。OK,现在回顾一下以前所实现的九宫图,其原理是这样:九宫图本质就是九个按钮按照GridLayout排列,并且按钮附带图标,而且按钮获得焦点(按钮切换)时,会显示特效。
用过J2SE GUI的朋友,应该对这些不陌生,没接触过J2SE GUI的朋友也许需要一点时间消化一下。
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.Form;
  9. importcom.sun.lwuit.events.ActionEvent;
  10. importcom.sun.lwuit.events.ActionListener;
  11. importcom.sun.lwuit.layouts.BorderLayout;
  12. importcom.sun.lwuit.layouts.BoxLayout;
  13. importcom.sun.lwuit.layouts.FlowLayout;
  14. importcom.sun.lwuit.layouts.GridLayout;
  15. /**
  16. *本例演示如何布局窗体控件
  17. */
  18. publicclassLayoutDemoimplementsActionListener{
  19. publicFormform=newForm("LayoutDemo");
  20. privateButtonborder;
  21. privateButtonboxY;
  22. privateButtonboxX;
  23. privateButtonflow;
  24. privateButtongrid;
  25. LayoutDemo(){
  26. form.setLayout(newBoxLayout(BoxLayout.Y_AXIS));
  27. //BorderLayout,就是把窗体布局分成东、南、西、北、中这5部分
  28. border=newButton("BorderLayout");
  29. //顾名思义,设置按钮背景的透明度,范围0~255,可以用Util的资源编辑器来预先修改
  30. border.getStyle().setBgTransparency(100);
  31. //每个button都需要设计监听事件
  32. border.addActionListener(this);
  33. //BoxLayout-Y,就是把控件从上往下排列
  34. boxY=newButton("BoxLayout-Y");
  35. boxY.getStyle().setBgTransparency(100);
  36. boxY.addActionListener(this);
  37. //BoxLayout-X,就是把控件从左往右排列
  38. boxX=newButton("BoxLayout-X");
  39. boxX.getStyle().setBgTransparency(100);
  40. boxX.addActionListener(this);
  41. //FlowLayout,就是把控件按行排列,一行装不下则放到第二行......
  42. flow=newButton("FlowLayout");
  43. flow.getStyle().setBgTransparency(100);
  44. flow.addActionListener(this);
  45. //GridLayout,这就是实现九宫图的排列方式!!!!!
  46. grid=newButton("GridLayout");
  47. grid.getStyle().setBgTransparency(100);
  48. grid.addActionListener(this);
  49. addComponents(form);
  50. form.show();
  51. }
  52. privatevoidaddComponents(finalFormf){
  53. f.removeAll();
  54. f.addComponent(boxY);
  55. f.addComponent(boxX);
  56. f.addComponent(border);
  57. f.addComponent(flow);
  58. f.addComponent(grid);
  59. }
  60. publicvoidactionPerformed(ActionEventarg0){
  61. Stringbutton_name=((Button)(arg0.getSource())).getText();
  62. if(button_name.equals("BorderLayout"))
  63. {
  64. form.setLayout(newBorderLayout());
  65. form.removeAll();
  66. form.setScrollable(false);
  67. form.addComponent(BorderLayout.NORTH,border);
  68. form.addComponent(BorderLayout.EAST,boxY);
  69. form.addComponent(BorderLayout.CENTER,grid);
  70. form.addComponent(BorderLayout.WEST,flow);
  71. form.addComponent(BorderLayout.SOUTH,boxX);
  72. form.show();
  73. }
  74. elseif(button_name.equals("BoxLayout-Y"))
  75. {
  76. form.setLayout(newBoxLayout(BoxLayout.Y_AXIS));
  77. form.setScrollable(false);
  78. addComponents(form);
  79. form.show();
  80. }
  81. elseif(button_name.equals("FlowLayout"))
  82. {
  83. form.setLayout(newFlowLayout());
  84. form.setScrollable(false);
  85. addComponents(form);
  86. form.show();
  87. }
  88. elseif(button_name.equals("GridLayout"))
  89. {
  90. form.setLayout(newGridLayout(3,2));
  91. form.setScrollable(false);
  92. addComponents(form);
  93. form.show();
  94. }
  95. elseif(button_name.equals("BoxLayout-X"))
  96. {
  97. form.setLayout(newBoxLayout(BoxLayout.X_AXIS));
  98. form.setScrollable(true);
  99. addComponents(form);
  100. form.show();
  101. }
  102. }
  103. }

分享到:
评论

相关推荐

    j2me----api

    j2me----api j2me----api j2me----api j2me----api j2me----api j2me----api j2me----api j2me----api j2me----api j2me----api

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

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

    J2ME游戏源码---泡泡堂

    【J2ME游戏源码---泡泡堂】是一个适合初学者和有一定基础的开发者研究的游戏项目,主要用于学习J2ME(Java Micro Edition)平台上的游戏开发技术。J2ME是Java平台的一个子集,专为资源有限的移动设备如手机、PDA等...

    J2ME游戏源码---bubble breaker

    **J2ME游戏开发概述** Java 2 Micro Edition(J2ME)是Java平台...通过研究这个游戏的源码,开发者可以深入理解J2ME的图形绘制、用户交互、游戏逻辑实现以及资源管理等多个方面,对于提升J2ME游戏开发技能非常有帮助。

    J2ME_Loader-1.7.7-open-release.apk

    J2ME_Loader-1.7.7-open-release.apk

    J2me AES 加密解密 crypto-aes

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

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

    通过这个项目,初学者可以学习到基础的编程概念,如逻辑控制、数据结构、图形用户界面(GUI)设计以及事件处理。 【知识点】 1. **J2ME基础**:首先,了解J2ME的基本架构,包括MIDP (Mobile Information Device ...

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

    在本教程中,我们将深入探讨如何使用JAVA的J2ME平台进行手机游戏开发,特别是针对经典游戏“俄罗斯方块”进行声音效果的添加。J2ME(Java Micro Edition)是Java平台的一个子集,主要用于嵌入式设备和移动设备,如...

    j2me_wireless_toolkit-2_2-windows

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

    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 轻量级UI控件-lwuit1.2.1

    **J2ME轻量级UI控件:LWUIT 1.2.1** Java Micro Edition(J2ME)是一种适用于小型设备和嵌入式系统的Java平台,它为开发移动应用提供了基础。在J2ME中,用户界面的构建通常是一项挑战,因为它需要在资源有限的设备...

    j2me休闲小游戏--飞机

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

    J2ME LWUIT 之九宫图

    标题“J2ME LWUIT 之九宫图”指的是使用LWUIT库在J2ME平台上实现一个类似于iPhone上的九宫格布局的界面。九宫图通常是一种常见的布局方式,用于展示多个相互关联的小模块或应用图标,用户可以通过点击这些图标来启动...

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

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

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

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

    lwuit.rar_J2ME lwuit_LWUIT_j2me_j2me LWU_九宫

    标题中的"lwuit.rar_J2ME lwuit_LWUIT_j2me_j2me LWU_九宫"表明这是一个与LWUIT相关的压缩包,内容可能包含了实现J2ME平台上九宫图功能的代码或资源。 九宫图是一种常见的界面布局方式,通常用于显示多个小视图,如...

    J2ME技术手册---极品

    **J2ME技术手册——移动开发者的珍藏指南** **一、J2ME概述** Java 2 Micro Edition(J2ME)是Java平台的一个子集,专为资源有限的嵌入式设备,如手机、掌上电脑、智能家电等设计。J2ME提供了一个灵活的框架,使得...

Global site tag (gtag.js) - Google Analytics