Tim*_*mst 7 drag-and-drop javafx javafx-2
我目前正在使用代表文件系统的JavaFx-2的TreeView.
我想启用拖放以允许移动操作,但看起来TreeItem不包含拖动事件侦听器.我只能在englobing TreeView对象上实现拖放,但它不适用于子项.
我错过了什么,或者TreeItems不支持拖放事件了吗?
Csh在Oracle论坛上回答的问题:https://forums.oracle.com/forums/message.jspa?messageID = 10426066#10426066
您必须在TreeCell上实现拖放.
像这样写一个CellFactory:
TreeView<String> treeView = new TreeView<String>();
treeView.setCellFactory(new Callback<TreeView<String>, TreeCell<String>>() {
@Override
public TreeCell<String> call(TreeView<String> stringTreeView) {
TreeCell<String> treeCell = new TreeCell<String>() {
protected void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
if (item != null) {
setText(item);
}
}
};
treeCell.setOnDragDetected(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent mouseEvent) {
}
});
return treeCell;
}
});
Run Code Online (Sandbox Code Playgroud)
如果他想声称自己的声誉或在他的解决方案中添加信息,我会改变这个答案.
归档时间: |
|
查看次数: |
6749 次 |
最近记录: |