版权声明:转载时请务必保留以下作者信息和链接
作者:陈维(chenweionline@hotmail.com)作者的网站:http://www.chenwei.mobi
我在使用 JOptionPane 时经常因为文本字符串太长于是 JOptionPane 宽度变的很大,甚至超过了屏幕范围。这个时候就就会感叹如果有宽屏显示器多好啊:)不过没有宽屏也没关系,我们可以从程序根本上解决问题。刚刚写了一个函数用来控制文本在程序界面上显示时按照指定宽度折行。
/***/
/**
*将字符串按照指定宽度添加折行标记.
*
*@paramtext需要折行的文本字符串.
*@paramwidth每行的宽度.
*@paramfm当前文本绘制时的FontMetrics对象.
*@return折行后的文本字符串.
*/

public
static
StringwrapText(Stringtext,
int
width,FontMetricsfm)
...
{
if(text!=null&&width>0&&fm!=null)...{
Stringresult="";
intmaxWidth=fm.stringWidth(text);

if(maxWidth>width)...{
StringtmpString="";
inttmpLength=0;
for(inti=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;
}
returnresult;
}else...{
returntext;
}
}
折行效果图
本文介绍了一种在Java中使用JOptionPane时,针对过长文本自动折行的方法,通过编写一个函数来控制文本按照指定宽度自动换行,确保界面美观且适应不同屏幕尺寸。
1282

被折叠的 条评论
为什么被折叠?



