解決JAVA中JLable,JButton不能換行的問題
阿新 • • 發佈:2018-11-28
直接放程式碼,解釋看註釋
編寫一個方法將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); } }
在最後附上我使用的方法: