Java 字符串格式

标签 java string jlist string.format

我正在尝试创建一个与 JList 一起使用的字符串数组,我的 Book 类中有一个对象数组,其中包含作者姓名、标题等...但是当我使用 string.format 并将其发送到我的JList 文本不像我使用 system.out.format 时那样对齐。

代码:

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());
    }
}

结果截图: enter image description here

正如您所看到的,打印方法将其对齐得很好,但是当我尝试将其发送到我的 JList 时,即使我使用相同的代码,它也会出现困惑。我将如何调整它?我尝试使用 String format = "|%1$-25s|%2$-25s|$%3$-10.2f|%4$-15s|%5$-13s|\n"; 中的值但似乎没有帮助。

最佳答案

JList 中对齐困惑的原因是因为它使用(希望)比例字体。您可以使用等宽字体,但这会很难看。您需要使用 JList(即表控件)中的列。

关于Java 字符串格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26080147/

相关文章:

C# 拆分字符串并在 If 语句中使用

java - 从 JList 中删除项目

JavaFX TitledPane : Remove Title

java - 断言失败 : (d + h * k > 1. 19209290e-7F),函数 InitVelocityConstraints 文件 ... b2MouseJoint.cpp,第 125 行

java - Issue detecting PCSCvia program on linux, 读卡器已连接

string - 双方括号和单方括号 [ 和 [[ 以及等号 = 和 == 有什么区别?

javascript - 凯撒密码移位javascript问题

java - Apache POI 可以处理的 Excel 文件的大小有限制吗?

java - Jlist总是空的?

java - 如何通过鼠标监听器获取Arraylist的索引?