文本字符串按照指定宽度折行显示
2007-03-26 02:07
253 查看
版权声明:转载时请务必保留以下作者信息和链接
作者:陈维(chenweionline@hotmail.com)作者的网站:http://www.chenwei.mobi
我在使用 JOptionPane 时经常因为文本字符串太长于是 JOptionPane 宽度变的很大,甚至超过了屏幕范围。这个时候就就会感叹如果有宽屏显示器多好啊:)不过没有宽屏也没关系,我们可以从程序根本上解决问题。刚刚写了一个函数用来控制文本在程序界面上显示时按照指定宽度折行。
/** *//**
* 将字符串按照指定宽度添加折行标记.
*
* @param text 需要折行的文本字符串.
* @param width 每行的宽度.
* @param fm 当前文本绘制时的FontMetrics对象.
* @return 折行后的文本字符串.
*/
public static String wrapText(String text, int width, FontMetrics fm)...{
if(text != null && width > 0 && fm != null)...{
String result = "";
int maxWidth = fm.stringWidth(text);
if(maxWidth > width)...{
String tmpString = "";
int tmpLength = 0;
for(int i = 0; i < text.length(); i++)...{
tmpString = text.substring(i,i+1);
result += tmpString;
tmpLength += fm.stringWidth(tmpString);
if(tmpLength >= width)...{
result += "/n";
tmpLength = 0;
}
}
}else...{
result = text;
}
return result;
}else...{
return text;
}
}
折行效果图
作者:陈维(chenweionline@hotmail.com)作者的网站:http://www.chenwei.mobi
我在使用 JOptionPane 时经常因为文本字符串太长于是 JOptionPane 宽度变的很大,甚至超过了屏幕范围。这个时候就就会感叹如果有宽屏显示器多好啊:)不过没有宽屏也没关系,我们可以从程序根本上解决问题。刚刚写了一个函数用来控制文本在程序界面上显示时按照指定宽度折行。
/** *//**
* 将字符串按照指定宽度添加折行标记.
*
* @param text 需要折行的文本字符串.
* @param width 每行的宽度.
* @param fm 当前文本绘制时的FontMetrics对象.
* @return 折行后的文本字符串.
*/
public static String wrapText(String text, int width, FontMetrics fm)...{
if(text != null && width > 0 && fm != null)...{
String result = "";
int maxWidth = fm.stringWidth(text);
if(maxWidth > width)...{
String tmpString = "";
int tmpLength = 0;
for(int i = 0; i < text.length(); i++)...{
tmpString = text.substring(i,i+1);
result += tmpString;
tmpLength += fm.stringWidth(tmpString);
if(tmpLength >= width)...{
result += "/n";
tmpLength = 0;
}
}
}else...{
result = text;
}
return result;
}else...{
return text;
}
}
折行效果图
相关文章推荐
- 字符串在指定区域内按照指定的字体显示时,需要的高度和宽度
- JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
- 让一个字符重复指定次数,让一个字符或字符串占指定宽度显示
- 动态的获取label文本的宽度和高度,来判断是不是需要折行显示
- 【原创】C#.Net中对中英文混排的字符串按照指定宽度截取排版
- JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
- 文本文件存在字符串数组,再按指定行截取,可以用来拆分文件。打印显示效果
- CSS控制文本超出指定宽度显示省略号和文本不换行效果的实现
- CSS控制文本超出指定宽度显示省略号和文本不换行效果的实现
- CSS 文本超出指定宽度后隐藏并显示为省略号鼠标移上显示全文
- 「彩」fontcolor() //使用指定的颜色来显示字符串 20140813 ①文本处理
- CSS控制文本超出指定宽度显示省略号和文本不换行
- JavaScript fontsize方法入门实例(按照指定的尺寸来显示字符串)
- JavaScript fontsize方法入门实例(按照指定的尺寸来显示字符串)
- CSS- 文本超出指定宽度后隐藏并显示为省略号
- TextView文本折行显示
- 「巨」big() //用大号字体显示字符串 20140806 ①文本处理
- 在java源文件中指定TextView文本显示内容
- text-overflow:ellipsis;-moz-binding: url('ellipsis.xml#ellipsis'); 文本字符串超过容器长度溢出部分显示点点点省略号"..." ,支持IE6+,Firefox !
- 一行内文本超出指定宽度溢出的处理