文本字符串按照指定宽度折行显示

本文介绍了一种在Java中使用JOptionPane时,针对过长文本自动进行折行处理的方法,通过编写一个函数来确保文本在显示时不会超出屏幕范围。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

版权声明:转载时请务必保留以下作者信息和链接
作者:陈维(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;
}

}

折行效果图



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值