0

我编写了一个小程序来从表中获取数据并将其显示在文本区域中。

它们正在显示,但也根据字符间距缩进。谁能告诉如何解决这个问题,我希望每一列都保持一个特定的起始位置。

while (itr.hasNext()) {

    abc = abc + String.format(
                                        "%-7s %3s %-7s %-3s %10s   %-10s %10s     %-8s %-8s %-8s %-8s\n",
                                        itr.next(), itr.next(), itr.next(),
                                        itr.next(), itr.next(), itr.next(),
                                        itr.next(), itr.next(), itr.next(),
                                        itr.next(), itr.next());
                                            }
    textArea.setText(abc);
    textArea.setLineWrap(false);
}
4

1 回答 1

0

您有两个选择:要么使用足够大的字符串长度(在您更改数据后,它可能会变得太低)或动态计算每列中数据的最大长度,使用它来确定字符串格式,以及然后使用该格式写入数据。为此,您必须对数据进行两次迭代——一次计算,然后打印。

于 2013-08-30T06:13:00.057 回答