Canvas中屏幕适配是比较头疼的事情,我们必须使用程序来动态的根据屏幕大小来判断以及处理适配问题,下面介绍了长字符串显示时候自动换行的实现。
首先是把字符串每一行进行分割,存放到Vector中。
/**
* 按字节数把字符串分组,支持中文
*/
public static Vector splitStr(Font f, String str, int length) {
if (str == null)
return null;
Vector result = new Vector();
char[] tempChar = str.toCharArray();
int lengthPX = 0;
StringBuffer sb = new StringBuffer();
for (int i = 0; i < tempChar.length; i++) {
lengthPX += f.charWidth(tempChar[i]);
if (lengthPX > length || tempChar[i] == '\n') {
result.addElement(sb.toString());
sb = new StringBuffer();
lengthPX = f.charWidth(tempChar[i]);
if (tempChar[i] != '\n') {
sb.append(tempChar[i]);
}
} else {
sb.append(tempChar[i]);
}
}
if (sb.length() > 0)
result.addElement(sb.toString());
return result;
}
然后可以遍历这个Vector,调用g.drawString来显示字符串。需要在y坐标上累计字体的高度。
分享到:
相关推荐
标题中的“j2me低级界面字符串自动换行代码包”指的是在Java 2 Micro Edition (J2ME)平台上,针对图形用户界面(GUI)开发的一种解决方案,它涉及到字符串处理和显示,特别是在有限的屏幕空间内自动进行换行。J2ME是...
因此,需要根据当前设备的屏幕宽度,对字符串进行自动分割,使其能够正确换行显示。具体来说,需要解决以下问题: - 如何确定字符串的分割点? - 如何根据屏幕宽度动态调整分割位置? - 如何控制最大显示行数? ##...
J2me文本自动换行显示的代码,里面的字符串默认是居中显示的,只要把drawString调整一下就可以改变显示方式了。
标题“J2ME 游戏 绘制字自动换行”指出,我们将探讨如何在J2ME游戏环境中实现文本的自动换行功能,这样就不必再依赖数组来手动管理每一行的文字。描述中提到,“手机中的文字进行自动换行,再无需要数组的烦恼”,...
### J2ME中比较字符串是否存在包含关系的算法 在Java 2 Micro Edition (J2ME) 开发过程中,经常需要处理字符串操作问题。一个常见的需求是判断一个字符串是否包含另一个字符串,这种操作对于模糊搜索、数据验证等...
J2ME中的字符串管理和多语言支持近期学习j2me开发,也谈谈我对字符串管理的一个方案。 字符串管理的目的是字符串的资源化管理。 1。这个系统应该可以通过静态方法访问; 2。字符串保存在资源当中; 3。可以方便的...
Canvas 是 J2ME 中的一个关键组件,它提供了一个自定义图形绘制的画布,开发者可以在此基础上创建丰富的用户界面。在本教程中,我们将深入探讨如何在 J2ME Canvas 上实现多级菜单。 首先,了解 J2ME 的 Canvas 基础...
Canvas是J2ME中的一个核心类,它提供了一个自定义绘制图形和处理用户交互的基础。Canvas类允许开发者创建具有复杂交互性的用户界面,但它并不具备直接处理文本输入的能力,尤其是对于非英文字符的输入。要让Canvas...
Canvas 是J2ME MIDP(Mobile Information Device Profile)库中的一个类,它继承自Graphics类,提供了一个空白画布,允许开发者使用低级别的图形API进行绘图。通过重写Canvas的`paint()`和`drawRect()`等方法,我们...
总结,J2ME中的Canvas类是实现图像显示的关键,通过加载、解码图片,重写paint()方法,并调整Canvas尺寸,可以成功地在移动设备上显示PNG和JPG格式的图片。这个过程不仅适用于单个图片,还可以扩展到更复杂的图形...
在本文中,我们将深入探讨如何使用Java Micro Edition (J2ME) 的低级Canvas组件来实现一个九宫图。九宫图,也被称为九宫格,是一种常见的布局方式,常用于游戏、菜单系统或者简单的用户界面设计。在手机平台上,J2ME...
用J2ME的CANVAS画布绘制一个小游戏界面
Canvas 是J2ME MIDP中的一个类,继承自 javax.microedition.lcdui.Graphics 类,提供了直接绘制像素的能力。通过Canvas,开发者可以创建自己的图形界面,而不仅仅是使用预定义的组件。这为创建复杂的游戏和图形应用...
在Java中,字符串是不可变对象,每次字符串连接都会创建新的字符串对象,这在大量连接操作时可能导致内存效率低下。开发者可能已经对KVM的源代码进行了调整,优化了这个过程,以减少内存开销和提高执行速度。 ...
在这个场景中,我们关注的是J2ME中的Canvas类,它提供了一个自定义图形用户界面的基础,让我们能够绘制自己的图形和交互元素。"九宫图"通常是指一种布局模式,它将屏幕划分为九个等大小的区域,常用于展示信息或导航...
在这个特定的项目中,"J2ME批量查询文件字符源码" 提供了一种在J2ME环境下对文件进行批量字符查询的功能。下面我们将深入探讨这个项目的组成部分以及其工作原理。 1. **主要类文件**: - `Main.class` 和 `Main....
标题中的“j2me 手机屏幕文字自动切换”指的是在Java 2 Micro Edition(J2ME)平台上,开发移动应用程序时如何实现文本内容在不同屏幕尺寸的手机上自适应显示,尤其是确保文字能根据屏幕宽度自动进行换行。在J2ME中...
在本案例中,`Canvas`被用来构建一个能够接收和显示中文字符的输入界面。 实现中文输入的关键在于处理字符编码和显示。J2ME通常使用Unicode编码,这是一个包含大量汉字的多字节编码标准。由于J2ME设备内存和处理...
使用StringBuilder或StringBuffer进行字符串连接,尤其在循环中,能显著减少对象创建。 4. **减少内存分配**:尽量一次性加载所需资源,避免频繁的内存分配。对于大容量数据,可采用流式处理,分批读取,减少内存...
在J2ME中,使用Unicode编码处理中文字符至关重要,因为它能确保正确地存储和传输中文字符。 3. **输入法引擎** 中文输入法通常涉及到拼音输入、笔画输入或五笔字型等。在J2ME平台上,由于资源限制,拼音输入是最...