1. 程式人生 > >解決JAVA中JLable,JButton不能換行的問題

解決JAVA中JLable,JButton不能換行的問題

直接放程式碼,解釋看註釋

編寫一個方法將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);
	}

}

 

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