JTree 结点怎么添加事件 一个树状菜单的例子。 歌手 专辑1 专辑2 每当单击专辑则刷新专辑曲目(在一个JPANEL)问下JTree的结点怎么添加事件 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 网上看到的一段代码,应该可以满足你的需求。(添加TreeSelectionListener事件也应该行得通)import java.awt.BorderLayout;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextField;import javax.swing.JTree;import javax.swing.ScrollPaneConstants;import javax.swing.tree.DefaultMutableTreeNode;import javax.swing.tree.TreePath;public class MainClass { public static void main(String[] a) { JFrame f = new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.add(new JTreeEvents()); f.setSize(500, 500); f.setVisible(true); }}class JTreeEvents extends JPanel { JTree tree; JTextField jtf; public JTreeEvents() { setLayout(new BorderLayout()); DefaultMutableTreeNode top = new DefaultMutableTreeNode("Options"); DefaultMutableTreeNode a = new DefaultMutableTreeNode("A"); top.add(a); a.add(new DefaultMutableTreeNode("A1")); a.add(new DefaultMutableTreeNode("A2")); DefaultMutableTreeNode b = new DefaultMutableTreeNode("B"); top.add(b); b.add(new DefaultMutableTreeNode("B1")); b.add(new DefaultMutableTreeNode("B2")); b.add(new DefaultMutableTreeNode("B3")); tree = new JTree(top); int v = ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED; int h = ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED; JScrollPane jsp = new JScrollPane(tree, v, h); add(jsp, BorderLayout.CENTER); jtf = new JTextField("", 20); add(jtf, BorderLayout.SOUTH); tree.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent me) { doMouseClicked(me); } }); } void doMouseClicked(MouseEvent me) { TreePath tp = tree.getPathForLocation(me.getX(), me.getY()); if (tp != null) jtf.setText(tp.toString()); else jtf.setText(""); }} void doMouseClicked(MouseEvent me) { TreePath tp = tree.getPathForLocation(me.getX(), me.getY()); if (tp != null) jtf.setText(tp.toString()); else jtf.setText(""); }能给这段代码给加点注释吗 急急急!!! 集合里面的元素怎么删除不了???? JAVA中两个不同的接口可不可以定义两个同名的方法? 求一java 电子表的程序 在JB里面怎样将应用打成ear包? 一个java算法小题,大家帮帮忙 一个小问题:如何将一个char字符转换为相应的ASCII码值? JBUILDER7生成可执行文件? 怎样对j2sdk1.4设置,才能够使用它来编辑和编译java程序??? 线程组的问题???????????(高分) java 操作数据库出现的内存溢出,求大神指教! 用dom4j 包修改xml文件 很郁闷的问题Java字符串拼接乱码
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.JTree;
import javax.swing.ScrollPaneConstants;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreePath;public class MainClass { public static void main(String[] a) {
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(new JTreeEvents());
f.setSize(500, 500);
f.setVisible(true);
}
}class JTreeEvents extends JPanel {
JTree tree; JTextField jtf; public JTreeEvents() {
setLayout(new BorderLayout());
DefaultMutableTreeNode top = new DefaultMutableTreeNode("Options"); DefaultMutableTreeNode a = new DefaultMutableTreeNode("A");
top.add(a); a.add(new DefaultMutableTreeNode("A1"));
a.add(new DefaultMutableTreeNode("A2")); DefaultMutableTreeNode b = new DefaultMutableTreeNode("B");
top.add(b); b.add(new DefaultMutableTreeNode("B1"));
b.add(new DefaultMutableTreeNode("B2"));
b.add(new DefaultMutableTreeNode("B3")); tree = new JTree(top); int v = ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;
int h = ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;
JScrollPane jsp = new JScrollPane(tree, v, h); add(jsp, BorderLayout.CENTER); jtf = new JTextField("", 20);
add(jtf, BorderLayout.SOUTH); tree.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent me) {
doMouseClicked(me);
}
});
} void doMouseClicked(MouseEvent me) {
TreePath tp = tree.getPathForLocation(me.getX(), me.getY());
if (tp != null)
jtf.setText(tp.toString());
else
jtf.setText("");
}
}
void doMouseClicked(MouseEvent me) {
TreePath tp = tree.getPathForLocation(me.getX(), me.getY());
if (tp != null)
jtf.setText(tp.toString());
else
jtf.setText("");
}能给这段代码给加点注释吗