1

我创建了一个“FileTree”类,它通过 JTree 显示文件系统,并且只显示文件夹和“.xlsx”或“.xls”文件。如果 DefaultMutableTreeNodes 是“.xlsx”或“.xls”文件,我希望能够向它们添加双击操作。似乎无法将 ActionListener 或 MouseListener 添加到 DefaultMutableTreeNode,有没有办法可以控制这些节点上的双击操作?

4

1 回答 1

1

我有一种解决方案,它不是我想要的,但它确实有效。

我在JTree中添加了一个MouseListener,然后当点击次数为2时,我检查事件源是JTree的一个实例,然后调用

Object comp = tree.getLastSelectedPathComponent();
if (comp instanceof FileTreeNode)
{
    FileTreeNode ftn = (FileTreeNode) comp;
File file = ftn.getFile();
}

然后我可以对文件做任何我想做的事情。FileTreeNode 是 DefaultMutableTreeNode 的扩展,其中包含该节点处的文件。

于 2012-12-02T16:10:12.047 回答