- 浏览: 212219 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
fenglongcen:
java可以写测试脚本吗?
linux 通过脚本执行java程序 -
chensss2008:
我代为回答2楼的问题,呵呵,因为我也遇到了这个问题。使用adm ...
SVNManager使用介绍 -
小诗诗:
我想问一下怎么使用“服务器配置管理员”怎么登陆啊!!!! ...
SVNManager使用介绍 -
sbcqw93:
能创建文件夹吗?比如说:http://127.0.0.1/sv ...
SVNManager使用介绍 -
energykey:
yhjhoo 写道好像没有一个外部的jar包,请教以下如何在l ...
linux 通过脚本执行java程序
1、textArea 显示文本内容,在部分手机上无法显示全部内容,每一行的最后几个字被挡住
琢磨了很久终于找了出来,解决方案如下:
TextArea txtContent = new TextArea(strContent, 12, 24);
//添加这一句即可
txtContent.setWidestChar('一');
2、若要对文本框中的内容设置补丁:
txtContent.getStyle().setPadding(Component.RIGHT, 10);
内容往右10像素。
3、如果list上不想要显示文字多余时的省略号
name.setEndsWith3Points(false);
4、重写Dialog要让标题与Form的样式一致
dialog.show(100, 100,100,100, true);
5、声音播放
try {
InputStream is = getClass().getResourceAsStream(
"/res/NewMailSound.wav");
Player player = Manager.createPlayer(is, "audio/x-wav");
player.start();
} catch (Exception e) {
e.printStackTrace();
}
6、使得TextField也能够在触屏手机上点击时出现输入编辑
解决方法:
在TextField源码上 加上editString();函数:
public void pointerReleased(int x, int y) {
// unlike text area the text field supports shifting the cursor with the touch screen
editString();
String text = getText();
int textLength = text.length();
int position = 0;
Font f = getStyle().getFont();
x -= getAbsoluteX();
for(int iter = 0 ; iter < textLength ; iter++) {
int width = f.substringWidth(text, 0, iter);
if(x > width) {
position = iter;
} else {
break;
}
}
if(position == textLength - 1) {
if(f.stringWidth(text) < x) {
position = textLength;
}
}
setCursorPosition(position);
repaint();
}
或者官方的解决方法:http://forums.java.net/jive/thread.jspa?threadID=52716
7、震动
public void MakeVibrate() {
new Thread() {
public void run() {
try {
Display.getInstance().vibrate(2000);
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
8、导致内存激增的原因(可以用自动模拟器的内存检测器进行监测C:\WTK2.5.2\bin\prefs.exe将你要的设置勾选)
而lwuit里面的源码有两句是会导致内存一直占用,一个是TextField中的这段代码
一个是Display
lwuitGraphics.setGraphics(impl.getNativeGraphics());
这两个暂时还没有仔细去研究,但是确实吃内存的所在。
还有就是要巧用System.gc();进行内存回收,这样就会尽量的减少内存溢出的情况。
9、滚动条拖拽方向与内容显示相反,component中的代码修改如下
10、开启wtk模拟器的触摸屏功能
打开\wtklib\devices\DefaultColorPhone目录下的DefaultColorPhone.properties文件(最好先安装一个UltraEdit之类的文本编辑器)。
然后找到touch_screen选项,修改为touch_screen=true
11、设置模拟器权限,以免开发过程中弹出烦人的提示
打开wtk模拟器。
选择Edit->Preferences->Security
然后将Security domain的选项设置为maximum。
12、内存和性能监视器
Edit->Preferences->Memory Monitor
Edit->Preferences->Profiler
13、出现安装后无法打开问题
有些Nokia手机会出现安装后无法打开,原因是安装包名称包含中文导致。
14、想要保存Sun Java (TM) Wireless Toolkit 2.5.2 for CLDC模拟器的RMS值,可以通过Preference - 存储(s)存储根目录 :(例:/disk) 来设置.
(选择你想要用的模拟器)然后到C:\Documents and Settings\Administrator\j2mewtk\2.5.2\appdb\DefaultColorPhone\filesystem\root1 建disk文件夹。
15、在S60 3th FP2版本上会出现String Index Out of Bounds Exception;原因DefaultLookAndFeel.java,在计算字符超过屏幕时出现异常。
int widest = f.charWidth('W');必须改成int widest = f.charWidth('一');
16、如果客户端创建出现cvs [server aborted]: "add" requires write access to the repository,将服务器端的CVSNT Advanced的All user are read即可.
17、NokiaS60手机出现string index异常的原因。
com.sun.lwuit.Font.charWidth(char)
1、TextArea line:186
private static char widestChar = '国';
2、HTMLTextArea line:33
private static char widestChar = '一';
3、DefaultLookAndFeel line:1124
int widest = f.charWidth('国');
琢磨了很久终于找了出来,解决方案如下:
TextArea txtContent = new TextArea(strContent, 12, 24);
//添加这一句即可
txtContent.setWidestChar('一');
2、若要对文本框中的内容设置补丁:
txtContent.getStyle().setPadding(Component.RIGHT, 10);
内容往右10像素。
3、如果list上不想要显示文字多余时的省略号
name.setEndsWith3Points(false);
4、重写Dialog要让标题与Form的样式一致
dialog.show(100, 100,100,100, true);
5、声音播放
try {
InputStream is = getClass().getResourceAsStream(
"/res/NewMailSound.wav");
Player player = Manager.createPlayer(is, "audio/x-wav");
player.start();
} catch (Exception e) {
e.printStackTrace();
}
6、使得TextField也能够在触屏手机上点击时出现输入编辑
解决方法:
在TextField源码上 加上editString();函数:
public void pointerReleased(int x, int y) {
// unlike text area the text field supports shifting the cursor with the touch screen
editString();
String text = getText();
int textLength = text.length();
int position = 0;
Font f = getStyle().getFont();
x -= getAbsoluteX();
for(int iter = 0 ; iter < textLength ; iter++) {
int width = f.substringWidth(text, 0, iter);
if(x > width) {
position = iter;
} else {
break;
}
}
if(position == textLength - 1) {
if(f.stringWidth(text) < x) {
position = textLength;
}
}
setCursorPosition(position);
repaint();
}
或者官方的解决方法:http://forums.java.net/jive/thread.jspa?threadID=52716
7、震动
public void MakeVibrate() {
new Thread() {
public void run() {
try {
Display.getInstance().vibrate(2000);
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
8、导致内存激增的原因(可以用自动模拟器的内存检测器进行监测C:\WTK2.5.2\bin\prefs.exe将你要的设置勾选)
而lwuit里面的源码有两句是会导致内存一直占用,一个是TextField中的这段代码
// public boolean animate() { // boolean ani = super.animate(); // if (hasFocus()) { // long currentTime = System.currentTimeMillis(); // if (drawCursor) { // if ((currentTime - cursorBlinkTime) > blinkOnTime) { // cursorBlinkTime = currentTime; // drawCursor = false; // return true; // } // } else { // if ((currentTime - cursorBlinkTime) > blinkOffTime) { // cursorBlinkTime = currentTime; // drawCursor = true; // return true; // } // } // if (pressedAndNotReleased) { // if (currentTime - pressTime >= getLongClickDuration()) { // longClick(pressedKeyCode); // } // } else { // if (pendingCommit && currentTime - releaseTime > commitTimeout) { // commitChange(); // } // } // } else { // drawCursor = false; // } // return ani; // }
一个是Display
lwuitGraphics.setGraphics(impl.getNativeGraphics());
这两个暂时还没有仔细去研究,但是确实吃内存的所在。
还有就是要巧用System.gc();进行内存回收,这样就会尽量的减少内存溢出的情况。
9、滚动条拖拽方向与内容显示相反,component中的代码修改如下
public void pointerDragged(int x, int y) { if (isScrollable() && isSmoothScrolling()) { int axisValue; if (isScrollableY()) { axisValue = y; } else { axisValue = x; } if (!dragActivated) { dragActivated = true; beforeLastScrollY = axisValue; lastScrollY = axisValue; getComponentForm().setDraggedComponent(this); } //save time and locations to create velocity when the //pointer is released long currentTime = System.currentTimeMillis(); if (currentTime != lastTime[(pLastDragged + lastTime.length + 1) % lastTime.length]) { lastTime[pLastDragged] = System.currentTimeMillis(); lastDragged[pLastDragged] = axisValue; pLastDragged = (++pLastDragged) % lastTime.length; } beforeLastScrollY = lastScrollY; lastScrollY = axisValue; // we drag inversly to get a feel of grabbing a physical screen // and pulling it in the reverse direction of the drag if (isScrollableY()) { int scroll = getScrollY() - (beforeLastScrollY - axisValue); if (scroll >= 0 && scroll < getPreferredH() - getHeight()) { setScrollY(scroll); } } else { int scroll = getScrollX() - (beforeLastScrollY - axisValue); if (scroll >= 0 && scroll < getPreferredW() - getWidth()) { setScrollX(scroll); } } } else { //try to find a scrollable element until you reach the Form Component parent = getParent(); if (!(parent instanceof Form)) { parent.pointerDragged(x, y); } } }
10、开启wtk模拟器的触摸屏功能
打开\wtklib\devices\DefaultColorPhone目录下的DefaultColorPhone.properties文件(最好先安装一个UltraEdit之类的文本编辑器)。
然后找到touch_screen选项,修改为touch_screen=true
11、设置模拟器权限,以免开发过程中弹出烦人的提示
打开wtk模拟器。
选择Edit->Preferences->Security
然后将Security domain的选项设置为maximum。
12、内存和性能监视器
Edit->Preferences->Memory Monitor
Edit->Preferences->Profiler
13、出现安装后无法打开问题
有些Nokia手机会出现安装后无法打开,原因是安装包名称包含中文导致。
14、想要保存Sun Java (TM) Wireless Toolkit 2.5.2 for CLDC模拟器的RMS值,可以通过Preference - 存储(s)存储根目录 :(例:/disk) 来设置.
(选择你想要用的模拟器)然后到C:\Documents and Settings\Administrator\j2mewtk\2.5.2\appdb\DefaultColorPhone\filesystem\root1 建disk文件夹。
15、在S60 3th FP2版本上会出现String Index Out of Bounds Exception;原因DefaultLookAndFeel.java,在计算字符超过屏幕时出现异常。
int widest = f.charWidth('W');必须改成int widest = f.charWidth('一');
16、如果客户端创建出现cvs [server aborted]: "add" requires write access to the repository,将服务器端的CVSNT Advanced的All user are read即可.
17、NokiaS60手机出现string index异常的原因。
com.sun.lwuit.Font.charWidth(char)
1、TextArea line:186
private static char widestChar = '国';
2、HTMLTextArea line:33
private static char widestChar = '一';
3、DefaultLookAndFeel line:1124
int widest = f.charWidth('国');
发表评论
-
Lwuit布局管理
2010-05-04 15:40 1642布局管理器中一个比较特殊的管理器CoordinateLa ... -
J2ME Socket编程
2010-04-25 23:35 4094Socket是套接字,它是基于TCP协议的传输。 在J2ME ... -
Alert用法
2010-04-08 18:21 3884在J2ME中,关于Alert类是用来向用户发出警告信息,一般A ... -
Midlet与Servlet传递Cookie
2010-03-31 11:47 2258Cookie在Java ME平台中没有得到支持,因此要想维持客 ... -
J2ME手机编程中使用字体与游戏键值
2010-03-25 10:02 1410J2me中关于字体Font类的介绍: Font fon ... -
J2me低级UI界面中Canvas类与GameCanvas类
2010-03-23 10:18 3366关于MIDlet类中destroyApp( ... -
J2ME从服务器解析并读取xml文件
2010-03-09 16:55 2224J2ME从服务器解析并读取xml文件,其实跟在本地读取xml文 ... -
J2me语言国际化
2010-03-04 16:39 1597J2me手机开发在早期的WTK没用jsr 238包,所以程序要 ... -
J2ME下载并读取服务器txt文件
2010-03-04 11:56 2058J2ME下载并读取服务器txt文件,我用的公司的服务器,大家如 ... -
J2ME解析并读取xml文件
2010-03-03 17:37 5781用KXML解析读取xml文本 首先需要kxml2-2.3.0. ... -
J2ME手机本地文件上传服务器
2010-02-23 10:20 2727J2ME手机本地存储文件的上传,核心代码如下: pac ... -
读取手机本地图片和文本文件(Lwuit版)
2010-02-22 13:21 2557读取手机存储文件的核心代码: package com.m ... -
J2ME实现从服务器端下载文件(J2me for HttpConnection)
2010-02-07 21:54 2627J2ME实现从服务器端下载文件: 我以下载服务器文件并在手机客 ... -
Lwuit中关于TextField限制输入为数字的内容代码
2010-01-28 10:50 2049Lwuit中关于TextField限制输入为数字的内容代码 ... -
Lwuit 钟表ClockWidget小应用程序
2010-01-26 12:59 1620J2ME关于Lwuit应用的钟表ClockWidget程序 ... -
Lwuit实现九宫图特效程序
2010-01-25 12:16 2207最近在网上看到很多九宫图的程序说明,但大多数是转载的,一些知识 ... -
J2ME中关于Lwuit的标签的综合使用
2010-01-22 18:02 2480J2ME中关于Lwuit的标签的综合使用 由于我使用的主题对 ... -
Lwuit中关于TextArea、TabbedPane组件的使用说明
2010-01-21 16:15 2185TextArea组件的使用说明代码如下: package ... -
Lwuit中CheckBox、ComboBox组件的使用说明
2010-01-21 15:53 2411这几天刚刚开始接触LWUIT,前两天从网上搜到一兄台的博客写的 ... -
J2ME配置Lwuit
2010-01-20 11:34 2172使用Eclipse加入Lwuit jar包配置方法 1.先 ...
相关推荐
lwuit-incubator,含专为blackberry移植的版本,在\lwuit-incubator\trunk\awandi\bb中,里面有DOC和源码,不过它把4.2-4.7版本放在一起了,应用的时候需要根据自己项目实际进行裁剪和修改。
Lwuit在blackberry上的移植版本,使用subversion签下来的,我把这个从lwuit-incubator中提取出来的,里面有DOC和源码,不过它把4.2-4.7版本放在一起了,应用的时候需要根据自己项目实际进行裁剪和修改。
【Lwuit-九宫格源码】是一个专注于Java ME(J2ME)平台的UI设计项目,利用 Lightweight User Interface Toolkit(LWUIT)库来创建一个九宫格的图形用户界面。LWUIT 是一个开源的轻量级UI框架,它提供了丰富的组件和...
《深入解析LWUIT 1.4源代码:构建J2ME中的轻量级用户界面》 LWUIT( Lightweight User Interface Toolkit)是Java 2 Micro Edition (J2ME) 平台上的一种轻量级用户界面框架,它为开发者提供了一套类似于Swing的API...
### LWUIT1-2-1学习文档知识点梳理 #### 一、LWUIT简介 - **定义**: LWUIT(LightWeight User Interface Toolkits)是一种轻量级用户界面工具包,专为小型设备(如手机、机顶盒)设计,旨在帮助开发者创建图形用户...
LWUIT( Lightweight UI Toolkit)是Sun Microsystems(后被Oracle收购)开发的一个开源用户界面库,主要用于J2ME(Java 2 Micro Edition)平台。它为移动设备提供了丰富的图形用户界面组件,使得开发者能够创建出...
LWUIT( Lightweight UI Toolkit )是Java ME(J2ME)平台上的一种用户界面库,专为移动设备设计,提供了一种轻量级、高性能的界面构建工具。它旨在简化和美化在移动设备上的应用程序开发,使开发者能够创建具有丰富...
LWUIT.jarLWUIT.jarLWUIT.jarLWUIT.jarLWUIT.jarLWUIT.jar
### LWUIT 入门知识点详解 #### 一、LWUIT 概览 LWUIT(Light Weight UI Toolkit)是一款轻量级的图形用户界面工具包,专为资源有限的移动设备设计,如手机和PDA。它提供了一系列丰富的用户界面组件和功能,帮助...
1. **轻量级**:LWUIT设计时考虑了资源有限的移动设备,因此它的体积小,运行效率高。 2. **丰富的UI组件**:LWUIT提供了一系列预定义的UI组件,如按钮、文本框、列表、表单等,使开发者可以快速构建美观的界面。 3....
**J2ME轻量级UI控件:LWUIT 1.2.1** Java Micro Edition(J2ME)是一种适用于小型设备和嵌入式系统的Java平台,它为开发移动应用提供了基础。在J2ME中,用户界面的构建通常是一项挑战,因为它需要在资源有限的设备...
这些细节在LWUIT开发文档中都有详细的描述和说明。 由于文档部分是通过OCR扫描的,可能存在识别错误或遗漏,但根据上下文可以理解为开发者在创建LWUIT主题商店时需要设计用户友好的界面,并通过网络请求从服务器...
【JAVA ME富客户端开发-LWUIT开发文档】 LWUIT(Lightweight User Interface Toolkit)是针对JAVA ME平台设计的一个轻量级用户界面开发框架。它由SUN公司在2008年5月发布,旨在解决JAVA ME环境中界面设计的复杂性...
**LWUIT 1.3 源代码详解** LWUIT( Lightweight UI Toolkit)是Sun Microsystems(现已被Oracle收购)为J2ME(Java 2 Micro Edition)平台设计的一款轻量级用户界面库,旨在提供一套高效、美观且功能丰富的图形用户...
"6-lwuit-324305-zhs.pdf"可能是一个中文版的LWUIT教程或者指南,对于中国开发者来说尤其有用,因为它提供了中文解释,便于理解和实践。中文文档通常会详细解释LWUIT的关键概念,如布局管理器、样式表的应用、图形...
这个"lwuit_demo_src.rar_DEMO_J2ME lwuit de_LWUIT_lwuit demo"压缩包包含的是LWUIT库的示例源代码,对于学习和理解LWUIT的使用方法非常有帮助。 LWUIT的主要目标是提供一套轻量级的UI组件,使得开发者能够在资源...
LWUIT( Lightweight UI Toolkit)是Java ME平台上的一款开源用户界面框架,专为移动设备设计,用于构建具有丰富图形和互动性的应用程序。这个框架提供了一系列的组件和工具,使得开发者可以轻松创建出美观且功能...
LWUIT( Lightweight UI Toolkit )是Java ME(Micro Edition)平台上的一款开源用户界面库,专为移动设备设计,提供了一套丰富的组件和强大的动画效果,以创建吸引人的、交互性强的用户界面。这个名为“lwuit.rar_...
Sun发布了LWUIT(Light-Weight UI Toolkit)的源代码。项目主页访问:LWUIT。 The Lightweight UI Toolkit (LWUIT) 是一个轻量级JavaME UI工具包。LWUIT类似Swing 的MVC架构, 支持多种布局(Layouts), 皮肤更换, ...