2
有没有办法从名称中获取TableView列?JavaFX - 按名称获取TableView列
当我需要得到一个专栏中,我必须通过索引来得到它:
tableView.getColumns().get(i);
,但我想通过名称来获得柱:
tableView.getColumns().get("Column Name");
有没有办法从名称中获取TableView列?JavaFX - 按名称获取TableView列
当我需要得到一个专栏中,我必须通过索引来得到它:
tableView.getColumns().get(i);
,但我想通过名称来获得柱:
tableView.getColumns().get("Column Name");
这是很难想象的情况其中你不能只保留对你的专栏的引用,但你总是可以写一个方法,如
private <T> TableColumn<T, ?> getTableColumnByName(TableView<T> tableView, String name) {
for (TableColumn<T, ?> col : tableView.getColumns())
if (col.getText().equals(name)) return col ;
return null ;
}
另一种方法获得列名或标题设置一个ID列和检索它在必要时:
private String col_ID = "Customer";
private TableColumn col = new TableColumn (col_ID);
col.setId(col_ID);
System.out.println(col.getId());
是的,我可以保持一个HashMap中的列引用,但我不知道是否有东西在API中获得他们的名字。 – ceklock
不,没有在API中。我怀疑这不是一个常见的用例;在绝大多数情况下,这些列是完全静态的,所以您将拥有实际的命名引用,甚至不需要“Map”。 –