JTree を介してファイル システムを表示し、フォルダと「.xlsx」または「.xls」ファイルのみを表示する「FileTree」クラスを作成しました。「.xlsx」または「.xls」ファイルの場合、DefaultMutableTreeNodes にダブルクリック アクションを追加できるようにしたいと考えています。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 に答える