我想創建一個與JList一起使用的字符串數組,我有一個包含作者姓名,Tittle等等的Book類中的對象數組......但是當我使用string.format併發送它給我的JList文本不會像我使用system.out.format時一樣對齊。Java字符串格式
代碼:
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());
}
}
結果截圖:
正如你所看到的,打印方法對準它很好,但是當我嘗試把它發送到我的JList它弄亂了,即使我使用相同的代碼。我將如何去調整它?我嘗試使用String格式的值=「|%1 $ -25s |%2 $ -25s | $%3 $ -10.2f |%4 $ -15s |%5 $ -13s | \ n」;但它似乎沒有幫助。
你最好使用每列獨立的JList,並通過Swing繪製線條,並嘗試排列文本。相信我,這會讓你頭痛!創建一個基本List面板,並通過重載的構造函數填充數據來產生倍數。 – Petro 2014-09-27 23:34:49
我不能那樣做,稍後我會添加一種編輯條目的方式,我希望用戶能夠直接從JList中選擇要編輯的條目。 – user2457344 2014-09-27 23:36:31
我們可以隨時將列表引用爲對象,並通過對象進行更改 – Petro 2014-09-27 23:37:38