解决JAVA中JLable,JButton不能换行的问题

版权声明:本文为博主原创文章,可以转载,但必须注明来源。 https://blog.csdn.net/qq_40176716/article/details/83086804

直接放代码,解释看注释

编写一个方法将string转化为html,多长(length)换自己设置

/**
*莫言情难忘  1179307527
*建议将此main转为static方法,即可达到换行的目的
*其中,变量为str与length
*/
public class text {

	/**
	 * 将string类型的文本转化为html 适用于JButton等文字自动换行
	 * 
	 * @param args
	 */
	public static void main(String[] args) {
		
		String str = "莫言情难忘QQ:::1179307527";// 可设置
		String strhtmlbr = "<br>";
		String strhtmltou = "<html>";
		String strhtmlwei = "</html>";
		int length = 5;//可设置

		// 字符串总长度
		int strlength = str.length();
		int k = strlength / length;
		// 一开始思路,建议先看下面注释的代码,再看修改后的
		// String[] strings = new String[99];
		// 初次循环取出str赋值到数组
		// for (int i = 0; i < k; i++) {
		// strings[i] = str.substring(i * length, i * length + length);
		// }
		// //连接头和第一个文本
		// String strreturn = strhtmltou.concat(strings[0]);
		// //for循环从1开始,依次连接
		// for (int i = 1; i < k; i++) {
		// strreturn = strreturn.concat(strhtmlbr + strings[i]);
		// }
		//最后的余出来的那部分
		// if(strlength - k*length !=0)
		// {
		// strreturn = strreturn.concat(strhtmlbr + str.substring(k*length,strlength));
		// }
		// //连接html尾
		// strreturn = strreturn.concat(strhtmlwei);

		/**************************************************************************************************************
		 * 修改重点
		 * 此方法可以改进,改进方式如下:取消数组,两个for循环合并,并增加可能性
		 * ************************************************************
		 */
		//如果字符串太短则跳出,一般在的方法中,return后加str即可,本类为测试类
		if (strlength < length) {
			return;
		}
		String strreturn = strhtmltou.concat(str.substring(0 * length, 0 * length + length));
		for (int i = 1; i < k; i++) {
			strreturn = strreturn.concat(strhtmlbr + str.substring(i * length, i * length + length));
		}
		if (strlength - k * length != 0) {
			strreturn = strreturn.concat(strhtmlbr + str.substring(k * length, strlength));
		}
		strreturn = strreturn.concat(strhtmlwei);
		System.out.println(strreturn);
	}

}

在最后附上我使用的方法:

猜你喜欢

转载自blog.csdn.net/qq_40176716/article/details/83086804