JavaMe开发中怎么绘制可自动换行文本
发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,这期内容当中小编将会给大家带来有关JavaMe开发中怎么绘制可自动换行文本,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。【问题描述】JavaMe Graphics类
千家信息网最后更新 2025年11月15日JavaMe开发中怎么绘制可自动换行文本
这期内容当中小编将会给大家带来有关JavaMe开发中怎么绘制可自动换行文本,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
【问题描述】
JavaMe Graphics类中的drawString不支持文本换行,这样绘制比较长的字符串时,文本被绘制在同一行,超过屏幕部分的字符串被截断了。如何使绘制的文本能自动换行呢?
【分析】
drawString无法实现自动换行,但可以实现文本绘制的定位。因此可考虑,将文本拆分为多个子串,再对子串进行绘制。拆分的策略如下:
1 遇到换行符,进行拆分;
2 当字符串长度大于设定的长度(一般为屏幕的宽度),进行拆分。
【步骤】
1 定义一个String和String []对象;
private String info; private String info_wrap[];
2 实现字符串自动换行拆分函数
StringDealMethod.java
package com.token.util; import java.util.Vector; import javax.microedition.lcdui.Font; public class StringDealMethod { public StringDealMethod() { } // 字符串切割,实现字符串自动换行 public static String[] format(String text, int maxWidth, Font ft) { String[] result = null; Vector tempR = new Vector(); int lines = 0; int len = text.length(); int index0 = 0; int index1 = 0; boolean wrap; while (true) { int widthes = 0; wrap = false; for (index0 = index1; index1 < len; index1++) { if (text.charAt(index1) == '\n') { index1++; wrap = true; break; } widthes = ft.charWidth(text.charAt(index1)) + widthes; if (widthes > maxWidth) { break; } } lines++; if (wrap) { tempR.addElement(text.substring(index0, index1 - 1)); } else { tempR.addElement(text.substring(index0, index1)); } if (index1 >= len) { break; } } result = new String[lines]; tempR.copyInto(result); return result; } public static String[] split(String original, String separator) { Vector nodes = new Vector(); //System.out.println("split start..................."); //Parse nodes into vector int index = original.indexOf(separator); while(index>=0) { nodes.addElement( original.substring(0, index) ); original = original.substring(index+separator.length()); index = original.indexOf(separator); } // Get the last node nodes.addElement( original ); // Create splitted string array String[] result = new String[ nodes.size() ]; if( nodes.size()>0 ) { for(int loop=0; loop3 调用拆分函数,实现字符串的拆分
int width = getWidth(); Font ft = Font.getFont(Font.FACE_PROPORTIONAL,Font.STYLE_BOLD,Font.SIZE_LARGE); info = "欢迎使用!\n" +"1 MVC测试;\n" +"2 自动换行测试,绘制可自动识别换行的字符串。\n"; info_wrap = StringDealMethod.format(info, width-10, ft);
4 绘制字符串
graphics.setColor(Color.text); graphics.setFont(ft); for(int i=0; i绘制的效果如图1所示:
图1 自动换行字符串绘制效果
上述就是小编为大家分享的JavaMe开发中怎么绘制可自动换行文本了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
字符
字符串
文本
分析
开发
内容
函数
屏幕
效果
长度
测试
一行
专业
中小
内容丰富
多个
宽度
对子
对象
就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
河南1u服务器机箱上哪找
软件开发有哪几种理论
cn域名的根服务器
我的世界服务器密室杀手怎么进
抵御网络安全
南京高科技软件开发一体化
快递网络安全应急预案
有什么网络安全的公众号
花都网络安全服务怎么收费
剑三唯满侠是哪个服务器
成都软件开发项目经理的主要工作
大数据服务数据库
法院网络安全保障方案
数据库出错还原
服务器电脑可以多开吗
连连看用到数据库吗
裁决之地的服务器在哪
佛山采购机器人rpa软件开发
2020网络安全宣传周在几月
网络安全任务跳不上去
系统的服务器作用
笑话视频软件开发
服务器文件夹禁用继承后如何恢复
云计算中网络安全与措施
服务器怎么看硬盘是固态
六安软件开发外包公司
工行总行软件开发中心总经理
互联网金融科技公司名字
从操作系统进入数据库
模拟人生服务器超时