我在javafx开始我。我有一个问题。我有一个树视图,其中节点通过外部命令更改其位置,但它只是看不到树。我必须最小化父级并重新扩展才能看到效果。 Altem对该树视图的任何建议都可以作为代码刷新。
免除代码:
public Boolean SobeNodo()
{
TreeItem<TreeNodo> oNodoSel = this.getSelectionModel().getSelectedItem();
if (oNodoSel != null)
{
TreeItem<TreeNodo> oNodoPai = oNodoSel.getParent();
if (oNodoPai != null)
{
int nIndex = oNodoPai.getChildren().indexOf(oNodoSel);
if (nIndex > 0)
{
oNodoPai.getChildren().removeAll(oNodoSel);
oNodoPai.getChildren().add(nIndex - 1, oNodoSel);
return true;
}
}
}
return false;
}
对不起我的英语,感谢您花费的时间。
答案 0 :(得分:3)
您在TreeView中遇到了一个问题:http://javafx-jira.kenai.com/browse/RT-20090
现在你可以使用下一个解决方法(对于第二次树操作实际上只有50ms延迟):
if (nIndex > 0) {
oNodoPai.getChildren().removeAll(oNodoSel);
TimelineBuilder.create().keyFrames(
new KeyFrame(Duration.millis(50), new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent t) {
oNodoPai.getChildren().add(nIndex - 1, oNodoSel);
}
})).build().play();
return true;
}