我试图创建一个与JList一起使用的字符串数组,我的Book类中有一个对象数组,其中包含作者名,Tittle等...但是当我使用string.format并将其发送到我的JList时不会像我使用system.out.format时那样对齐。
代码:
final static String FORMAT = "|%1$-25s|%2$-25s|$%3$-10.2f|%4$-15s|%5$-13s|\n";
static String[] createStringList(Book[] dataBase)
{
String[] list = new String[dataBase.length];
for (int i = 0; i < dataBase.length; i++)
{
list[i] = String.format(FORMAT, dataBase[i].getTittle(), dataBase[i].getAuthor(),
dataBase[i].getBookPrice(), dataBase[i].getNumberInStock(),
dataBase[i].getISBNNumber());
}
return list;
}
static void printout(Book[] dataBase)
{
System.out.println(" Tittle" + "\t" + " Author" + "\t" + " Price" + "\t" + "Number In Stock" + "\t" + " ISBN Number");
System.out.println("_____________________________________________________________________________________________");
for (int i = 0; i < dataBase.length; i++)
{
System.out.format(FORMAT, dataBase[i].getTittle(), dataBase[i].getAuthor(),
dataBase[i].getBookPrice(), dataBase[i].getNumberInStock(),
dataBase[i].getISBNNumber());
}
}
结果截图:
如您所见,print方法可以很好地对齐它,但是当我尝试将其发送到JList时,即使我使用的是相同的代码,它也会弄乱。我将如何调整它?我尝试过使用String格式的值=“ |%1 $ -25s |%2 $ -25s | $%3 $ -10.2f |%4 $ -15s |%5 $ -13s | \ n”; 但这似乎没有帮助。
在JList中弄乱对齐的原因是因为它(希望)使用了比例字体。您可以使用等距的一个,但这将很丑陋。您需要使用JList中的列(即表控件)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句