TreeItem支持拖放吗? [英] Is drag and drop supported by TreeItem?
问题描述
我正在使用JavaFx-2的 TreeView 代表文件系统。
I'm currently working with a JavaFx-2's TreeView representing a file system.
我想启用拖放允许移动操作,但它看起来像 TreeItem 不包括拖动事件侦听器。我只能在拖放的TreeView对象上实现拖放,但它不适用于子项目。
I want to enable drag and drop to allow move operations, but it looks like TreeItem doesn't include drag events listeners. I was only able to implement drag and drop on the englobing TreeView object, but it doesn't work for sub-items.
我错过了一些东西,尚未支持TreeItems的drop事件?
Am I missing something, or are drag and drop events not supported for TreeItems yet?
推荐答案
Csh在Oracle论坛上回答的问题: https://forums.oracle.com/forums/message.jspa?messageID=10426066#10426066
Question answered by Csh on the Oracle Forums : https://forums.oracle.com/forums/message.jspa?messageID=10426066#10426066
您必须在TreeCell上实施拖放。
You have to implement drag on drop on the TreeCell.
编写像这样的CellFactory:
Write a CellFactory like this:
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;
}
});
如果他想声称他的声誉或添加信息到他的解决方案,我会改变这个答案。
If he wants to claim his reputation or add information to his solution, I'll change this answer.
这篇关于TreeItem支持拖放吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!