我无法将动作侦听器添加到树中的特定节点。这是我构建的一棵树:
我想为每个节点注册一个单独的侦听器。现在我在JTree
注册了一个听众。所以,每当我点击tree
的任何部分时,监听器方法就会启动它的工作。 (即现在我有一个共同的倾听者)
我想要的是当我点击音频一个注册听到音频点击的听众时,应该开始它的工作,同样适用于视频。 我该怎么做?
到目前为止,这是我的注册方式:
jTree1.addTreeSelectionListener(new javax.swing.event.TreeSelectionListener() {
public void valueChanged(javax.swing.event.TreeSelectionEvent evt) {
jTree1ValueChanged(evt);
}
});
public void jTree1ValueChanged( TreeSelectionEvent tse ) {...}
答案 0 :(得分:7)
这个怎么样?或者你有特殊的PathComponents吗?
public void jTree1ValueChanged( TreeSelectionEvent tse ) {
String node = tse.getNewLeadSelectionPath().getLastPathComponent().toString();
if( node.equals("audio") ) {
// play audio
} else if( node.equals("video") ) {
// play video
}
}
答案 1 :(得分:0)
您无法向树节点添加事件侦听器,因为表示树节点的类不是Component。