textArea.append()格式可将3个字符串(1个解析为Int)和一个Double与其在JTextArea中的标头对齐

时间:2018-09-30 05:41:03

标签: java swing append jtextarea

这是Java基金第一年第一学期的分配,因此JTextArea是必需项(无表格)。

问题的实质是我如何为每行的第一个字符串(用户输入的全名)之后的某些行(最多10个)设置均匀的间距。

从屏幕截图中,您可以看到在输入客户时每个客户都有一个方法显示,然后是一个displayAll()方法,它会产生GUI输出。

我一直在使用textArea.setText代码的变体,该代码在被调用的方法中并以如下方式运行:

textArea.setText(String.format("%-23s%-25s%-28s%-26s\n", "Customer name", "License number", "Days hired", "Rental"));
textArea.append("----------------------------------------------------------------------------------------------------\n");

这部分很高兴,但随之而来的是超人或Fancy Fancypants Jnr,名字很长,输出没有对齐。

我尝试设置我发现的字体建议,但这会导致JTextArea发生疯狂的事情,并且部分内容被剪掉了...我想是因为带有附加的“ ----”破折号在标题下。

在第一个字符串之后我允许多少空间似乎是显而易见的,然后也许我应该在剩余的字符串之后减少空间?

我明白,显示7天和$ 134.00可能会在最后一个字符串格式化后需要更多空间...或者它是更少的空间。如果您不知道,这是一件小事,但令人沮丧:)

我们的规范中的示例输出似乎比到目前为止我所能管理的要均匀得多,因此,将其确定下来的任何想法都将不胜感激。

GUI输出和代码屏幕截图 Specification

0 个答案:

没有答案