怎么样做一个tabscreen
来源:互联网 发布:重生之网络霸主 编辑:程序博客网 时间:2024/04/28 14:04
就是屏幕上方带有标签可以切换的屏幕,转官方的代码。
package com.rim.samples.tabcontrol;
import net.rim.device.api.ui.Field;
import net.rim.device.api.ui.FocusChangeListener;
import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.component.BasicEditField;
import net.rim.device.api.ui.component.LabelField;
import net.rim.device.api.ui.component.SeparatorField;
import net.rim.device.api.ui.container.HorizontalFieldManager;
import net.rim.device.api.ui.container.MainScreen;
import net.rim.device.api.ui.container.VerticalFieldManager;
public class TabControl extends UiApplication {
public TabControl() {
TabControlScreen screen = new TabControlScreen();
pushScreen(screen);
}
/**
* @param args
*/
public static void main(String[] args) {
TabControl app = new TabControl();
app.enterEventDispatcher();
}
private class TabControlScreen extends MainScreen implements FocusChangeListener {
private LabelField tab1;
private LabelField tab2;
private LabelField tab3;
private LabelField spacer1;
private LabelField spacer2;
private VerticalFieldManager tabArea;
private LabelField tab1Heading;
private BasicEditField tab1Field1;
private BasicEditField tab1Field2;
private LabelField tab2Heading;
private BasicEditField tab2Field1;
private BasicEditField tab2Field2;
private LabelField tab3Heading;
private BasicEditField tab3Field1;
private BasicEditField tab3Field2;
private VerticalFieldManager tab1Manager;
private VerticalFieldManager tab2Manager;
private VerticalFieldManager tab3Manager;
public TabControlScreen() {
HorizontalFieldManager hManager = new HorizontalFieldManager();
tab1 = new LabelField("Page 1", LabelField.FOCUSABLE);
tab2 = new LabelField("Page 2", LabelField.FOCUSABLE);
tab3 = new LabelField("Page 3", LabelField.FOCUSABLE);
spacer1 = new LabelField(" | ", LabelField.NON_FOCUSABLE);
spacer2 = new LabelField(" | ", LabelField.NON_FOCUSABLE);
tab1.setFocusListener(this);
tab2.setFocusListener(this);
tab3.setFocusListener(this);
hManager.add(tab1);
hManager.add(spacer1);
hManager.add(tab2);
hManager.add(spacer2);
hManager.add(tab3);
add(hManager);
add(new SeparatorField());
tab1Manager = new VerticalFieldManager();
tab2Manager = new VerticalFieldManager();
tab3Manager = new VerticalFieldManager();
tabArea = displayTab1();
add(tabArea);
}
public void focusChanged(Field field, int eventType) {
if (tabArea != null) {
if (eventType == FOCUS_GAINED) {
if (field == tab1) {
System.out.println("Switch to Tab 1");
delete(tabArea);
tabArea = displayTab1();
add(tabArea);
} else if (field == tab2) {
System.out.println("Switch to Tab 2");
System.out.println("Switch to Tab 1");
delete(tabArea);
tabArea = displayTab2();
add(tabArea);
} else if (field == tab3) {
System.out.println("Switch to Tab 3");
System.out.println("Switch to Tab 1");
delete(tabArea);
tabArea = displayTab3();
add(tabArea);
}
}
}
}
public VerticalFieldManager displayTab1() {
if (tab1Heading == null) {
tab1Heading = new LabelField("Registration");
tab1Manager.add(tab1Heading);
}
if (tab1Field1 == null) {
tab1Field1 = new BasicEditField("Username: ", "");
tab1Manager.add(tab1Field1);
}
if (tab1Field2 == null) {
tab1Field2 = new BasicEditField("Password: ", "");
tab1Manager.add(tab1Field2);
}
return tab1Manager;
}
public VerticalFieldManager displayTab2() {
if (tab2Heading == null) {
tab2Heading = new LabelField("Password Recovery");
tab2Manager.add(tab2Heading);
}
if (tab2Field1 == null) {
tab2Field1 = new BasicEditField("Security Question: ", "Mother's Maiden Name?");
tab2Manager.add(tab2Field1);
}
if (tab2Field2 == null) {
tab2Field2 = new BasicEditField("Password: ", "");
tab2Manager.add(tab2Field2);
}
return tab2Manager;
}
public VerticalFieldManager displayTab3() {
if (tab3Heading == null) {
tab3Heading = new LabelField("Interests");
tab3Manager.add(tab3Heading);
}
if (tab3Field1 == null) {
tab3Field1 = new BasicEditField("Hobbies: ", "");
tab3Manager.add(tab3Field1);
}
if (tab3Field2 == null) {
tab3Field2 = new BasicEditField("Memberships: ", "");
tab3Manager.add(tab3Field2);
}
return tab3Manager;
}
}
}
- 怎么样做一个tabscreen
- 做一个风投怎么样
- 怎么样做一个好测试
- 怎么样做一个优秀的程序员
- 怎么样做一个合格的职业者
- 做一个编程任务网站怎么样
- 怎么样做一个正确的决策?
- 怎么样做一个老板欣赏的好员工?
- 要怎么样做一个合格点的程序猿呢?
- 怎么样做网页
- 做外包怎么样?
- 怎么样做笔记了
- 怎么样做系统
- [征求意见]我想做一个spring+struts+hibernate+ajax的分页程序。大家认为怎么样?
- 个人站长的疑问:怎么样才能做一个能赚钱的网站?
- 怎么样剪切一个对象
- 怎么样解决一个问题
- 怎么样生成一个随机数
- 在FireFox中 f事件需要通过传递 所以要带入eventTag
- 羞涩!紧张!!兴奋!!!
- 一个低级错误
- Visual C#中操作WMI的类库简介
- 2113 2
- 怎么样做一个tabscreen
- liyux中Makefile文件(0.11 kernel)
- MySQL分区(Partition)功能试验2008-07-06 20:02目录
- 刚刚开通blog,希望前辈们多多指教
- windows的字体结构 LOGFONT
- SQL 内连接,外连接
- LR的响应时间与使用IE所感受时间不一致的讨论
- 我的 C++ 学习历程 之三 Button Sytle 译文(3)
- 几个有用的MyEclipse设置(一)