同时间隔弦同时也对齐它们

时间:2016-11-01 18:22:30

标签: java listview javafx

我有一个ListView,最重要的项目如下所示。

ID         FIRST NAME         LAST NAME      DOB            SS         PHONE NUMBER

现在,在这些项目下,我想放置实际包含此信息的其他项目

ID         FIRST NAME         LAST NAME      DOB            SS              PHONE NUMBER
1          Paul               Lopez          some date      some number     some number

我似乎无法弄清楚如何对齐这些项目,以便字符串的长度不会影响对齐(即如果你向Paul添加两个字母,它将不会向前推送所有内容)。这就是我所拥有的。

String headerString = ID         FIRST NAME         LAST NAME      DOB            SS              PHONE NUMBER;
private void updateEmployees(){
    employeeLV.getItems().clear();
    employeeLV.getItems().add(headerString);
    for (EmployeeInfo employee : dateBaseHelper.getAllEmployees()){
        employeeLV.getItems().add(
                employee.getId() + spacer
                + employee.getfName() + spacer
                + employee.getlName() + spacer + spacer
                + employee.getDob() + spacer + spacer
                + employee.getSsNum() + spacer + spacer
                + employee.getPhoneNumber());
    }
}

我确实意识到这是一次糟糕的尝试,我希望你们能帮忙。

1 个答案:

答案 0 :(得分:1)

您需要的是TableView。使用TableView,您可以创建自动对齐的列。所以你可以只插入(不同类型的)值,让JavaFX为你做对齐。

您可以查看有关TableView的this tutorial

请考虑实施您的员工,以SimpleIntegerPropertySimpleStringPropertySimpleObjectProperty作为字段,而不是int,String和Date。这将使得使用TableView变得更加容易。