import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.tree.*;
class relaTree extends JFrame implements TreeSelectionListener
{
Container con;
JTree tree=null;
DefaultMutableTreeNode root,all,family,friend;
JSplitPane split;
JScrollPane scroll;
JPanel panel;
relaTree()
{
con=getContentPane();
root=new DefaultMutableTreeNode("亲情树------个人关系树形图");
all=new DefaultMutableTreeNode("所有");
family=new DefaultMutableTreeNode("家人");
friend=new DefaultMutableTreeNode("朋友");
root.add(all);
root.add(family);
root.add(friend);
tree=new JTree(root);
tree.setEditable(true);
panel=new JPanel();
scroll=new JScrollPane(panel);
split=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,tree,scroll);
con.add(split,BorderLayout.CENTER);
validate();
setVisible(true);
tree.addTreeSelectionListener(this);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void valueChanged(TreeSelectionListener e)
{
if(e.getSource()==tree)
{
DefaultMutableTreeNode node=(DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
if(node.isLeaf())
{
String s=node.toString();
if (s.equals("所有"))
{
}
else if (s.equals("家人"))
{ }
else if (s.equals("朋友"))
{
}
}
}
}
}
public class treewin
{
public static void main(String args[])
{
relaTree rt=new relaTree();
rt.pack();
}
}会有如下异常:treewin.java:7: relaTree is not abstract and does not override abstract method valueChanged(javax.swing.event.TreeSelectionEvent) in javax.swing.event.TreeSelectionListener
class relaTree extends JFrame implements TreeSelectionListener
treewin.java:38: cannot resolve symbol
symbol : method getSource ()
location: interface javax.swing.event.TreeSelectionListener
if(e.getSource()==tree)
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.tree.*;
class relaTree extends JFrame implements TreeSelectionListener
{
Container con;
JTree tree=null;
DefaultMutableTreeNode root,all,family,friend;
JSplitPane split;
JScrollPane scroll;
JPanel panel;
relaTree()
{
con=getContentPane();
root=new DefaultMutableTreeNode("亲情树------个人关系树形图");
all=new DefaultMutableTreeNode("所有");
family=new DefaultMutableTreeNode("家人");
friend=new DefaultMutableTreeNode("朋友");
root.add(all);
root.add(family);
root.add(friend);
tree=new JTree(root);
tree.setEditable(true);
panel=new JPanel();
scroll=new JScrollPane(panel);
split=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,tree,scroll);
con.add(split,BorderLayout.CENTER);
validate();
setVisible(true);
tree.addTreeSelectionListener(this);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void valueChanged(TreeSelectionListener e)
{
if(e.getSource()==tree)
{
DefaultMutableTreeNode node=(DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
if(node.isLeaf())
{
String s=node.toString();
if (s.equals("所有"))
{
}
else if (s.equals("家人"))
{ }
else if (s.equals("朋友"))
{
}
}
}
}
}
public class treewin
{
public static void main(String args[])
{
relaTree rt=new relaTree();
rt.pack();
}
}会有如下异常:treewin.java:7: relaTree is not abstract and does not override abstract method valueChanged(javax.swing.event.TreeSelectionEvent) in javax.swing.event.TreeSelectionListener
class relaTree extends JFrame implements TreeSelectionListener
treewin.java:38: cannot resolve symbol
symbol : method getSource ()
location: interface javax.swing.event.TreeSelectionListener
if(e.getSource()==tree)
这句不对,应该是:
public void valueChanged(TreeSelectionEvent e)
如果你用jb的话,应该提示你才对阿!
如果你这个方法写对了,valueChanged部分会变成浅绿色,否则说明你写错了!