eSWT移动扩展简介,第2部分: 在移动应用程序中使用高级控件

简介

随着移动平台变得越来越复杂,移动计算需求将会不断增长。嵌入式 Standard Widget Toolkit (eSWT) Mobile Extension 是一种 Eclipse 技术,可以用于为各种移动电话开发具有桌面应用程序外观的 Java 应用程序。

本系列的 eSWT 移动扩展简介,第 1 部分:使用简单小部件快速构建移动应用程序 “使用简单小部件快速构建移动应用程序” 对移动扩展包作了概述。它还描述了一些基本控件(CaptionedControl、ConstrainedText、DateEditor、ListBox 和 ListView)。

在本文中,学习如何使用:

MobileShell 显示全屏的移动应用程序。

SortedList 获得一个经排序的列表,该列表具有一个过滤器,用于过滤无用的信息。

HyperLink 作为根据设备类型启动本地应用程序的一种方式。

TextExtension 作为设置输入文本类型的一种方式。

TaskTip 向用户提示应用程序的当前状态。

MobileShell

与典型的 shell 不同,MobileShell 支持一种特殊的屏幕模式,这种模式使用整个设备屏幕空间,而不是通常模式下的应用程序空间。MobileShell 特别适合于需要在运行时动态裁剪屏幕的设备。应用程序可以调用 setFullScreenMode(boolean) 方法在运行时在常规模式与全屏模式之间切换。该特性常用于媒体播放器和 Web 浏览器之类的应用程序,这些应用程序可以请求全屏模式,以取得更好的显示效果。

注意,MobileShell 不支持 Windows Mobile 上的状态样式。

如果创建 MobileShell,并附加一个命令按钮,那么在调用 setFullScreenMode(true) 之后,它将变成全屏模式,在屏幕底端有一个菜单栏。清单 1 显示创建 MobileShell 的代码示例。

清单 1. 创建 MobileShell

display = parent.getDisplay();
mobileshell = new MobileShell(display,SWT.RESIZE);
button= new Button(mobileshell, SWT.PUSH|SWT.BORDER);
button.setBounds(0, 0, 200, 200);
button.setText("FullScreen Mode");

button.addSelectionListener(new SelectionListener(){
  public void widgetSelected(SelectionEvent e) {
  if(!isFullScreen){
   mobileshell.setFullScreenMode(true);
   button.setText("Normal mode");
   isFullScreen = true;
  }else{
   mobileshell.setFullScreenMode(false);
   button.setText("FullScreen Mode");
   isFullScreen = false;
  }

  }
  public void widgetDefaultSelected(SelectionEvent e) {
  }});

mobileshell.open();

时间: 2024-10-27 06:58:01

eSWT移动扩展简介,第2部分: 在移动应用程序中使用高级控件的相关文章

eSWT移动扩展简介,第3部分

在移动应用程序中使用高级对话框以及与设备相关的特性 MultiPageDialog.QueryDialog.TimedMessageBox.MobileDevice.Screen 和 Input 简介 本系列的 eSWT 移动扩展简介,第 1 部分:使用简单小部件快速构建移动应用程序 "使用简单小部件快速构建移动应用程序" 对移动扩展包作了概述.它还描述了一些基本控件(CaptionedControl.ConstrainedText.DateEditor.ListBox 和 ListV

eSWT移动扩展简介,第1部分: 使用简单小部件快速构建移动应用程序

简介 随着移动平台变得越来越复杂,移动计算需求将会不断增长.嵌入式 Standard Widget Toolkit (eSWT) Mobile Extension 是一种 Eclipse 技术,可以用于为各种移动电话开发具有本地外观的 Java 应用程序. eSWT 是嵌入式 Rich Client Platform (eRCP) 项目的一部分,为构建移动应用程序提供标准的嵌入式小部件.eSWT 主要关注如何满足移动设备的功能和用户体验需求.eSWT 提供了对设备上的用户界面功能的高效.可移植的

网络编程-求 扩展UDP实现SR可靠数据传输 的java程序...网络工程专业作业

问题描述 求 扩展UDP实现SR可靠数据传输 的java程序...网络工程专业作业 .UDP向应用层提供不可靠数据传输服务,本课题的任务是扩展UDP的服务,使其对应用层提供采用SR(选择重传)的可靠的数据传输服务. 2.可靠数据传输机制设计: 2.1 UDP不可靠数据传输服务抽象: 2.2扩展UDP实现SR可靠数据传输: 2.2.1 如何体现流水线机制? 2.2.1 如何应对传输过程中的错误,实现SR? 2.3可靠数据传输机制的验证系统. 课设大作业....小弟在这跪求一份....下周就要交了

windows-怎么在扩展屏幕上一直显示打开的应用程序

问题描述 怎么在扩展屏幕上一直显示打开的应用程序 急急急!!!!!!!!!!!!我自己写了个多屏幕显示的例子,通过movewindow,将打开的应用程序移动到扩展屏幕上.但是有时候点击任务栏上应用程序的图标时候(在扩展平上显示的),在扩张屏幕上显示的应用程序却跑到主屏幕上来.希望大神们可以帮我下谢谢!!!!!! 解决方案 你可以在程序激活事件里面,再尝试调用一次movewindow函数,将窗口再一次移动到你的扩展屏上.

请问账套根据用户输入的数据自动扩展表单,这个在制作的软件中怎么输入代码?

问题描述 请问账套根据用户输入的数据自动扩展表单,这个在制作的软件中怎么输入代码? 请问账套根据用户输入的数据自动扩展表单,这个在制作的软件中怎么输入代码? 解决方案 http://blog.csdn.net/echoshinian100/article/details/38540321 解决方案二: 类似如自动调整宽度等样式,学习了

如何利用扩展方法来链式的对MVC 3中的页面进行验证_实用技巧

.Net 3.0 添加了一个语法糖就是扩展方法,其实扩展方法的本质就是对类的静态方法的调用,虽然扩展方法只是改变了我们写代码的方式,但是如果我们使用得当,可以给我们带来巨大的编码效率的提升.对于C#扩展方法的使用,我就不细说了,贴段代码说明扩展方法的使用,大家就会回忆起来. 复制代码 代码如下: public static class Extensions { public static string EndWith(this string str) { return str + "@"

Mahout学习之Mahout简介、安装、配置、入门程序测试

原文地址:http://blog.csdn.net/aaronhadoop/article/details/24577221 一.Mahout简介 查了Mahout的中文意思--驭象的人,再看看Mahout的logo,好吧,想和小黄象happy地玩耍,得顺便陪陪这位驭象人耍耍了... 附logo: (就是他,骑在象头上的那个Mahout)  步入正文啦:        Mahout 是一个很强大的数据挖掘工具,是一个分布式机器学习算法的集合,包括:被称为Taste的分布式协同过滤的实现.分类.聚

Scala程序中的扩展类

我们仍然需要能够创建新的元素对象.你已经看到了因为类Element是抽象的,所以"new Element" 不能被用来做这件事.因此,为了实例化一个元素,我们需要创建扩展了Element并实现抽象的contents 方法的子类.代码10.3展示了一种可能的方式: class ArrayElement(conts: Array[String]) extends Element { def contents: Array[String] = conts } 代码 10.3 定义ArrayE

在PHP程序中使用Rust扩展的方法_php技巧

 C或PHP中的Rust 我的基本出发点就是写一些可以编译的Rust代码到一个库里面,并写为它一些C的头文件,在C中为被调用的PHP做一个拓展.虽然并不是很简单,但是很有趣. Rust FFI(foreign function interface) 我所做的第一件事情就是摆弄Rust与C连接的Rust的外部函数接口.我曾用简单的方法(hello_from_rust)写过一个灵活的库,伴有单一的声明(a pointer to a C char, otherwise known as a strin