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

Unity3D游戏开发之分页效果在uGUI中的实现 各位朋友大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是http://qinyuanpei.com。今天想和大家分享的是uGUI中分页效果的实现,我们知道相对NGUI来说uGUI在功能覆盖上来讲,它并没有像NGUI那样提供较为丰富和炫酷的组件,可是因为uGUI有着较好的扩展性,因此我们可以通过编写脚本来扩展它的功能。虽然在移动开发时代以开发速度论成败,可是这并不是我们“不求甚解”的正当理由。 阅读详情
本文来自:http://blog.youkuaiyun.com/hellogv/ ,转载必须注明出处!

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


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

  1. /*
  2.  * Copyright ?2008 Sun Microsystems, Inc. All rights reserved.
  3.  * Use is subject to license terms.
  4.  *
  5.  */
  6. package com.sun.lwuit.uidemo;
  7. import com.sun.lwuit.Button;
  8. import com.sun.lwuit.ButtonGroup;
  9. import com.sun.lwuit.Command;
  10. import com.sun.lwuit.Container;
  11. import com.sun.lwuit.Dialog;
  12. import com.sun.lwuit.Form;
  13. import com.sun.lwuit.Label;
  14. import com.sun.lwuit.RadioButton;
  15. import com.sun.lwuit.TabbedPane;
  16. import com.sun.lwuit.TextArea;
  17. import com.sun.lwuit.TextField;
  18. import com.sun.lwuit.events.ActionEvent;
  19. import com.sun.lwuit.events.ActionListener;
  20. import com.sun.lwuit.layouts.BorderLayout;
  21. import com.sun.lwuit.layouts.BoxLayout;
  22. /**
  23.  * 本例演示如何使用Tabbed、Text控件
  24.  */
  25. public class TabbedPaneDemo implements ActionListener {
  26.     public Form form = new Form("TabbedPaneDemo");
  27.     private  Command backCommand = new Command("Back", 1);
  28.     final TextArea title ;
  29.     final TextArea body;
  30.     TabbedPane tp = null;
  31.     TabbedPaneDemo() {
  32.         form.setLayout(new BorderLayout());
  33.         form.setScrollable(false);
  34.         form.addCommand(backCommand);
  35.         form.setCommandListener(this);
  36.         tp = new TabbedPane();
  37.         //addTab可以为页面添加控件,也可以是Container(相当于容器的控件)
  38.         tp.addTab("Tab 1", new Label("Welcome to TabbedPane demo!"));
  39.         //---------------------第二页的内容------------------------------------
  40.         //Container就是一个控件,只不过相当于容器,建议每页有自己的事件处理
  41.         Container radioButtonsPanel = new Container(new BoxLayout(BoxLayout.Y_AXIS));
  42.         RadioButton topRB = new RadioButton("Top");
  43.         RadioButton LeftRB = new RadioButton("Left");
  44.         RadioButton BottomRB = new RadioButton("Bottom");
  45.         RadioButton RightRB = new RadioButton("Right");
  46.         RadioListener rbListener = new RadioListener();//自定义接收事件的类
  47.         topRB.addActionListener(rbListener);
  48.         LeftRB.addActionListener(rbListener);
  49.         BottomRB.addActionListener(rbListener);
  50.         RightRB.addActionListener(rbListener);
  51.         ButtonGroup group1 = new ButtonGroup();
  52.         group1.add(topRB);
  53.         group1.add(LeftRB);
  54.         group1.add(BottomRB);
  55.         group1.add(RightRB);
  56.         radioButtonsPanel.addComponent(new Label("Please choose a tab placement direction:"));
  57.         radioButtonsPanel.addComponent(topRB);
  58.         radioButtonsPanel.addComponent(LeftRB);
  59.         radioButtonsPanel.addComponent(BottomRB);
  60.         radioButtonsPanel.addComponent(RightRB);
  61.         tp.addTab("Tab 2", radioButtonsPanel);
  62.         //----------------------第三页的内容----------------------------------
  63.         //Container就是一个控件,只不过相当于容器,建议每页有自己的事件处理
  64.         Container TextPanel = new Container(new BoxLayout(BoxLayout.Y_AXIS));
  65.         ButtonListener txtListener = new ButtonListener();//按钮事件处理
  66.         title = new TextField("Title");   
  67.         title.getStyle().setBgTransparency(100);
  68.         body = new TextArea("This is the body of the alert....", 3, 20);
  69.         body.getStyle().setBgTransparency(100);
  70.         final Button ShowMessage =new Button("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("Tab 3", TextPanel);
  77.         form.addComponent("Center", tp);
  78.     }
  79.     /** 监听 radio buttons事件 */
  80.     class RadioListener implements ActionListener {
  81.         public void actionPerformed(ActionEvent e) {
  82.             String title = ((RadioButton) e.getSource()).getText();
  83.             Dialog.show("TabbedPaneDemo", title, "OK", null);
  84.         }
  85.     }
  86.     /** 监听 buttons事件 */
  87.     class ButtonListener implements ActionListener {
  88.         public void actionPerformed(ActionEvent e) {
  89.            Dialog.show(title.getText(), body.getText(), "OK", null);
  90.         }
  91.     }
  92.     /** 监听command事件 */
  93.     public void actionPerformed(ActionEvent arg0) {
  94.         UIDemoMIDlet.backToMainMenu();
  95.     }
  96. }


从Chiplet到UCIE:D2D互联技术如何重塑半导体设计生态 本文探讨了D2D互联技术在半导体设计中的革命性作用,从Chiplet到UCIE标准的演进如何重塑行业生态。详细分析了D2D互联的技术本质、架构选择及UCIE标准带来的变革,并展望了未来光学D2D和3D集成等趋势。高速互联接口技术的突破为AI加速器和计算芯片提供了更高带宽和能效。 阅读详情

相关推荐

3D视觉入门必看:深度图、点云图、IR图、RGB图像到底有什么区别?

本文深入解析了3D视觉中深度图、点云图、IR图与RGB图像的核心区别。深度图记录像素距离,是连接2D与3D的桥梁;点云图是显式的三维坐标集合;IR图感知红外光强度;RGB图像则提供颜色纹理。理解其信息维度和应用场景,是进行机器人导航、三维重建等任务的基础。

year5的博客 347

文本输出API函数:TextOut,ExtTextOut,DrawText,DrawTextEx,PolyTextOut,TabbedTextOut

前阵子由于做一个软件需要用Detour库HOOK其它程序的文本输出,以实现对第三方程序文字的监控。         对这六个文本输出API函数:TextOut,ExtTextOut,DrawText,DrawTextEx,PolyTextOut,TabbedTextOut,作了一番学习。         以前只是使用,HOOK以后才发现它们有很大的不同。 // TextOut(分为TextO

Reviter的专栏 8187

(实战)[re:Invent 2018]-001:赛道分析-(致敬1024)

打印log

Rainbow 2782

【原创】两种分页控件的实现

两种分页控件的实现 最近因项目需要,封装了两个分页控件。两个分页控件的工作机制相同,只是界面风格不同。现在拿来和大家分享一下。如果大家有什么好的意见和建议,欢迎指正。 分页控件采用UserControl的形式进行封装,主要维护记录总数,每页行数和当前页索引等数据,提供翻页事件供用户进行订阅和实现。和列表控件分离确保了分页控件的可移植性,可以支持和多种列表的结合。 第一

永远年轻,永远热泪盈眶 2576

深入探索 ClickHouse:性能优化之道

在大数据处理的广袤天地里,ClickHouse 宛如一颗璀璨的明星,以其卓越的性能为海量数据的存储与查询提供了强大助力。但要想让 ClickHouse 发挥出极致效能,性能优化至关重要。今天,就让我们一同深入探寻 ClickHouse 的性能优化之路。

arnold66的专栏 1548

C++中为什么要引入引用变量?

C++引用机制的设计哲学在于平衡性能与安全性。它解决了指针的三个痛点:语法噪音、空指针风险和语义模糊,同时保持了指针的效率优势。引用必须绑定有效对象且不可重绑定的特性增强了安全性,其值语义语法更直观。尤其在运算符重载和const引用场景中,引用展现了不可替代的优势。本质上,引用是编译器优化的指针实现,体现了C++"零开销抽象"的核心思想——既保持底层性能,又提供高级抽象。这种设计允许开发者根据场景灵活选择指针或引用,反映了C++多范式共存的语言智慧。

教学 & 技术专栏 175

jmeter tps指标在哪里看_知否?知否?GUI 图形界面 Jmeter 也能生成 html 报告

相信大家在日常工作中,做性能测试,都喜欢用jmeter。在写脚本和调试脚本的时候,都喜欢用GUI图形界面模式.甚至在真正做性能测试的时候,还是喜欢用GUI模式,虽然这种模式,官方不推荐,但是,也耐不住大家对图形界面模式的喜欢。用GUI模式,做性能测试,添加各种曲线图表后,可以在运行过程中,实时看到运行状态,然后灵活的选择是否结束当前的性能测试。但是,在这种模式下,做性能测试也会有一个极大的困惑,那...

weixin_39744606的博客 281

RHCA III之路---EX436-1

由于ha这门课有大量命令需要在3个节点上同步执行.如果执行history会出现前面数字,复制多行会有些麻烦.lab环境是nodea,nodeb,nodec 考试环境是node1,node2,node3。就可以快速将历史命令实现可多行复制,当然也可以用awk进行分割,个人喜好随意。技巧只能加快答题速度,对考试得分帮助不大。确认3个红框内容一致,且没报错即可。再执行一个histrory。3个node节点上运行。这样就能1次复制3行。

Q先生 1007

gui界面怎么分页_Red语言-GUI-概述

GUI-概述以下章节将描述每个红色视图元素(面、面、容器设置、布局命令和查看优化)但我发现,对Red如何创建gui的概述使理解这些元素之间的相互关系更加简单。简单开始:Red通过在视图块中描述gui来创建gui。这种描述非常简单,最简单的形式是:如果要编译脚本,必须在红色标题中添加“needs:view”。如果从GUI控制台运行脚本,则视图模块已经存在。一个示例代码:以及生成的GUI:红色文档调用...

weixin_32481609的博客 251

GEE 案例:利用多源遥感数据计算RUSLE(Revised Universal Soil Loss Equation)土壤侵蚀

该数据集提供了全球范围内以250至500米的空间分辨率获取的多光谱图像数据,用于监测地表覆盖和变化。RUSLE模型的基本原理是通过考虑土壤侵蚀的主要驱动因素,来估计土壤侵蚀的速率。该数据集提供了全球范围内以10至60米的空间分辨率获取的多光谱图像数据,用于监测地表覆盖和变化。它对农业和土地资源管理者提供了一种评估和预测土壤侵蚀风险的工具,以制定适当的土壤保护措施和决策。2. soil(土壤)是来自OpenLandMap的土壤纹理分类数据,使用了USDA(美国农业部)土壤纹理分类系统。

此星光明博客 805

Android实战——白天黑夜模式设置

白天黑夜模式是一种动态的UI模式,根据当前时间或用户设置的偏好,在白天和黑夜之间进行切换。它通过调整应用程序的颜色、亮度和其他可视化元素来提供更加舒适和易读的用户界面。

小旭的专栏 5230

J2ME菜单的分页显示

本例由三个类组成:TestMidlet.java  TestCanvas.java ParseCode.java 简单的展示如何在J2ME里实现分页效果以下代码可以直接运行入口类:TestMidlet.javaimport javax.microedition.lcdui.Display;import javax.microedition.lcdui.Displayable;impor

*童稚的心* 1772

2.0 电子凸轮 西门子1500电子凸轮使用研究1

本文研究了S7-1500T电子凸轮同步控制技术,通过仿真实验得出以下结论:1)通过比例系数可调整凸轮曲线形状;2)解除同步需调用从轴其他运动指令;3)详细阐述了凸轮同步的5个实施步骤。重点分析了三种同步类型(主值距离同步、动态参数同步和直接同步)的特点及应用场景,并探讨了缩放系数、偏移量等参数对凸轮曲线的影响。同时介绍了凸轮应用模式及常见异常处理方法,为工程应用提供了重要参考。

qq_34047402的博客 810

通过J2ME的录音功能实现简易示波器

通过J2ME的录音功能实现简易示波器

hellogv的专栏 1万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

手机二维码~~~ZXing简介

本文来自http://blog.youkuaiyun.com/hellogv/       最近3G不断在发力,商务部也主动牵头推动移动电子商务的发展,所以,针对企业应用、消费辅助类的J2ME软件将以更快的速度涌现。这里,我要介绍的是,手机的新应用----手机二维码。    什么是一维码、二维码?一维码就是商品包装盒上的条形码,而二维码就是。。。。。。类似“马赛克”打格的图像,以图像中的黑白点数量、大小来表示

hellogv的专栏 8497

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

获取网站的实时股票数据

以下代码可以解析WAP的PHP网页以及JSP网页;如果是要解析JSP网页,代码可以更加简略。/** *本文来自http://blog.youkuaiyun.com/hellogv/ * 这个单元负责全局函数 */import java.io.*;import java.util.*;import javax.microedition.midlet.*;

hellogv的专栏 8140

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

LWUIT 上使用List实现表格

本文来自http://blog.youkuaiyun.com/hellogv/ ,引用必须注明出处!      最近越来越多人用LWUIT,问得问题也越来越多了。最近超级多人问的是,如何使用List实现表格。以前我用Grid实现了表格(http://blog.youkuaiyun.com/hellogv/archive/2009/01/12/3759984.aspx),现在就来说说如何

hellogv的专栏 8026

使用J2ME发送手机短信

以下代码出自http://blog.youkuaiyun.com/hellogv/,引用请注明出处!小弟有一部索爱的K508C,在学习J2ME时,发觉它竟是MIDP2.0,因此,就利用它来开始自己的移动开发之旅。  首先,要加入以下这两句必须的库引用:import javax.wireless.messaging.MessageConnection;import javax.wireles

hellogv的专栏 6764

J2ME GUI实战之一 ----------LWUIT简介

本文来自:http://blog.youkuaiyun.com/hellogv/ ,转载必须注明出处!首先,想让大家看看LWUIT可以做出什么界面:这种界面,用J2ME-Polish也不难做出来,但是作者我更喜欢LWUIT,因为她发展得很快很快,觉得值得大家关注!!好了,继续介绍,以下内容摘自网络:Sun发布了LWUIT(Light-Weight UI Toolkit)的源代码以及示例代码(示例后面会详细说明

hellogv的专栏 6731

J2ME GUI实战之二 ----------LWUIT实现手机九宫图

 本文来自:http://blog.youkuaiyun.com/hellogv/ ,转载必须注明出处! 本文的源代码,已放到 http://download.youkuaiyun.com/user/hellogv 供大家下载!首先,想让大家看看九宫图实现之后的界面:本文所用的代码,是来自LWUIT所提供的Sample例子,但是对例子做出以下修改:1.设计自主的res资源文件2.把builde.xml里面的 。。。。。

hellogv的专栏 6519

用最少的代码来,美化你的J2ME程序!

以下代码出自http://blog.youkuaiyun.com/hellogv/,引用请注明出处!在开始本文之前,请确定你自己,是否想把你的J2ME程序界面改为以下这样:   如果你已经想好了,想把你J2ME程序改成这样,那么,请继续往下看.......  在动手美化你的J2ME程序之前,请准备以下:  1。请到http://www.enough.de/news.html下载j2me

hellogv的专栏 6086

J2ME的RMS读写实现

以下代码出自http://blog.youkuaiyun.com/hellogv/,引用请注明出处!  在实现RMS的读写前,首先要注意RMS对汉字不兼容,为了解决这个这个首要问题,首先要编写以下两个成员函数:public byte[] StringtoBytes(String Str) { //写成字节byte[] STB = null;try {ByteArrayOutpu

hellogv的专栏 6039
上一篇: J2ME GUI实战之六 ----------LWUIT的Label、CheckBox、RadioButton
下一篇: J2ME GUI实战之八 ----------LWUIT的List控件
欧巴Godwin
欧巴Godwin 领域专家: 操作系统技术领域 领域专家: 操作系统技术领域
博客等级 码龄20年 9690粉丝 141原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值