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