JList와 함께 사용할 문자열 배열을 만들려고합니다. Author 이름, Tittle 등이 포함 된 My 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 format = "% 1 $ -25 | % 2 $ -25 | $ % 3 $ -10.2f | % 4 $ -15s | % 5 $ -13s | 값을 가지고 놀려고했습니다. 하지만 도움이되지 않습니다.
각 열에 대해 별도의 JLists를 사용하고 Swing을 통해 선을 그리고 텍스트를 정렬하는 것이 더 좋습니다. 날 두려워하지 마라. 기본 List 패널을 만들고 오버로드 된 생성자를 통해 데이터가 채워진 배수를 만듭니다. – Petro
나는 그것을 할 수 없다. 나중에 엔트리를 편집하는 방법을 추가 할 것이고 사용자는 JList에서 직접 편집 할 항목을 선택할 수 있기를 원한다. – user2457344
우리는 항상 목록을 객체로 참조하고 객체를 통해 변경할 수 있습니다. – Petro