如何格式化 JList 中的文本?
How do I format text within a 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
中的项目输出到输出 window 时,它的格式很好,但在我的 GUI 中却没有:
我不确定这是否能帮助您更好地帮助我,但这是我将数据加载到列表中的方式:
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);
}
您可以使用 \t(如果字段的文本太长,您可能必须使用 /t/t)而不是使用空格或使用 JTable
如前所述,最好的解决方案是使用 JTable
。阅读有关 How to Use Tables 的 Swing 教程部分,了解更多信息和工作示例。
When i output the items in my jlist into the output window using a system out print it formats fine, but in my GUI it does not:
要回答您的问题,您需要使用等宽字体。
list.setFont( new Font("monospaced", Font.PLAIN, 10) );
此外,使用标准 Java 变量名。变量名称(Expense、Cost...)不应以大写字符开头。
我在 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
中的项目输出到输出 window 时,它的格式很好,但在我的 GUI 中却没有:
我不确定这是否能帮助您更好地帮助我,但这是我将数据加载到列表中的方式:
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);
}
您可以使用 \t(如果字段的文本太长,您可能必须使用 /t/t)而不是使用空格或使用 JTable
如前所述,最好的解决方案是使用 JTable
。阅读有关 How to Use Tables 的 Swing 教程部分,了解更多信息和工作示例。
When i output the items in my jlist into the output window using a system out print it formats fine, but in my GUI it does not:
要回答您的问题,您需要使用等宽字体。
list.setFont( new Font("monospaced", Font.PLAIN, 10) );
此外,使用标准 Java 变量名。变量名称(Expense、Cost...)不应以大写字符开头。