2015-01-30 2 views
2

JList에 올바르게 서식을 지정할 수없는 항목이 있습니다.JList 내에서 텍스트 서식을 지정하려면 어떻게해야합니까?

그렇게하기 위해 내가이 방법을 만들었습니다

private String formatString(String string){ 
    string = string.trim(); 

    int SEPERATOR = 20 - string.length(); 

    for(int i = 0; i<SEPERATOR; i++){ 

     string = string + " "; 
    } 

    return string; 
} 

내가 출력이 잘 포맷 인쇄 시스템을 사용하여 출력 창에 내 JList의 항목 만 내 GUI에가하는 하지 :

:

example

나는 여기에 내가 목록에 내 데이터를 로딩하고 어떻게되어 이것이 당신이 더 나은 나를 도와 도움이 될 것입니다 있는지 확실하지 않습니다 만

DefaultListModel m = new DefaultListModel(); 

    while (rs.next()){ 

     String Expense = rs.getString("Expense"); 
     String Cost = "£"+rs.getString("Cost"); 
     String PurchaseDate = rs.getString("Purchase_Date"); 
     String Description = rs.getString("Description"); 

     Expense = formatString(Expense); 
     Cost = formatString(Cost); 
     PurchaseDate = formatString(PurchaseDate); 
     Description = formatString(Description); 


     String Row = Expense+Cost+PurchaseDate+Description; 

     m.addElement(Row); 
     System.out.println(Row); 
    } 
+3

그 종류의 데이터는 *** JTable! *** *** 나에게 비명을 지른다. –

+0

* "이게 도움이 될지 잘 모르겠다"* 더 나은 도움을 받으려면 [MCVE] (http://stackoverflow.com/help/mcve) (최소한의 완전한 검증 가능한 예) 또는 [SSCCE] (http : //www.sscce.org/) (단락, 자체 포함, 올바른 예). DB를 대체 할 일부 데이터를 하드 코딩합니다. 이는 부적절합니다. –

+0

이 코스를 배웠다면'String # format'을 사용하는 법을 가르쳐 주겠다. – MadProgrammer

답변

4

최선의 솔루션을 사용의 제안하면 JTable을 사용하는 것입니다. 자세한 내용 및 작업 예제는 How to Use Tables에있는 스윙 튜토리얼의 섹션을 참조하십시오.

때 출력 인쇄가 잘 포맷,하지만 내 GUI에서 그렇지 않은 시스템을 사용하여 출력 창에 내 JList의의 항목 :

은 귀하의 질문에 대답하기 위해 당신은을 사용할 필요를 고정 폭 글꼴.

list.setFont(new Font("monospaced", Font.PLAIN, 10)); 

또한 표준 Java 변수 이름을 사용하십시오. 변수 이름 (비용, 비용 ...)은 대문자로 시작하면 안됩니다.

0

당신은 \의 t을 사용할 수 있습니다 (당신이 사용해야 할 수도 있습니다/t/t 필드의 텍스트가 너무 긴 경우) 이미로되어있는 한, 대신 공백을 사용하거나 JTable의

관련 문제