繁体   English   中英

如何格式化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的项目输出到输出窗口时,它的格式很好,但是在我的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);
    }

正如已经建议的那样,最好的解决方案是使用JTable 阅读Swing教程中有关如何使用表的部分, 获取更多信息和工作示例。

当我使用系统输出打印将jlist中的项目输出到输出窗口时,它的格式很好,但是在我的GUI中却没有:

要回答您的问题,您需要使用等宽字体。

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

另外,请使用标准Java变量名称。 变量名称(费用,费用...)不应以大写字母开头。

您可以使用\\ t(如果字段的文本太长,则可能必须使用/ t / t)而不是使用空格或使用JTable

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM