我有一个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());
}
}
我确实意识到这是一次糟糕的尝试,我希望你们能帮忙。
答案 0 :(得分:1)
您需要的是TableView。使用TableView,您可以创建自动对齐的列。所以你可以只插入(不同类型的)值,让JavaFX为你做对齐。
您可以查看有关TableView的this tutorial。
请考虑实施您的员工,以SimpleIntegerProperty,SimpleStringProperty和SimpleObjectProperty作为字段,而不是int,String和Date。这将使得使用TableView变得更加容易。