在java中的JtextArea中对齐文本

时间:2015-03-19 14:48:18

标签: java swing

我需要在JtextArea中添加项目及其描述和价格,但我在调整它时遇到问题。我想要一个输出就像

Description          Price
Coffe                $50.00
Bread                $30.00
Egg                  $10.00

但我的程序就像

一样
Description           Price
Coffe           $50
Bread                 $30
Egg                 $20

任何人请帮助我如何对齐它?....

txtArea.append( "\n" + desc+"         " + price + "         " + quanty);

1 个答案:

答案 0 :(得分:3)

HTML 在JTextPane而不是JTextArea中,可以使用HTML:

<html><table><tr><th>Description</th><th>....<tr><td>...

CSS样式最美,需要一些努力。

String.format 在JTextArea中使用固定大小的字体(等宽字体)可以执行以下操作:

txtArea.setFont(new Font("monospaced", Font.PLAIN, 12));
txtArea.append(String.format("%-30s %15s %10d\n", desc, price, quanty));
  • % - 30s左对齐字符串
  • %15s右对齐字符串
  • %10d右对齐整数