[英]How to format output in a textfield in Java?
我將文字附加到文本字段。 由於某些狀態具有長名稱,因此列的格式不正確。 我能做什么?
...
_result.append(text+"\n");
看起來像:
Alabama 1900 Birmingham Wide-Awake 1
District of Columbia 1901 Birmingham Wide-Awake 40
Illinois 1900 Blakeley Blakeley Sun 10
Colorado 1901 Blakeley Blakeley Sun 20
West Virginia 1900 Cahawba Alabama Watchman 30
Alabama 1901 Cahawba Alabama Watchman 50
您可能需要根據列中最長的字符串添加制表符。 像這樣的東西:
// add a tab(s) after each column value
_result.append(columnFiled +"\t");
//Finally add a new line
_result.append("\n");
您可以使用Formatter類以給定格式格式化字符串。 這允許您指定格式說明符,通過它可以設置每個參數的寬度。 通過這樣做,您可以正確對齊列。
String[][] stateInfo = new String[][]{
{"Alabama", "1900", "Birmingham", "Wide-Awake", "1"},
{"Illinois", "1900", "Blakeley", "Blakeley Sun", "10"}};
for (String[] si: stateInfo){
String s = String.format("%1$-12s %2$-5s %3$-12s %4$-12s %5$-2s ",
si[0],si[1],si[2],si[3],si[4]);
System.out.println("String:"+s);
}
格式為%1s:
's','S'=如果參數arg為null,則結果為“null”。 如果arg實現了Formattable,則調用arg.formatTo。 否則,通過調用arg.toString()獲得結果。
“ - ”=結果將是左對齊的。
有關支持的其他格式,請參閱Formatter Class中的文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.