- 论坛徽章:
- 0
|
!!请问JTree的子结点图标可以设成两种不同的图像吗?!!
class AddressList extends JFrame implements TreeSelectionListener,ActionListener
{。。。。。。。
AddressList()
{。。。。。。。
jtree=new JTree(root);
。。。。。
showData();
DefaultTreeCellRenderer render=new DefaultTreeCellRenderer(); //渲染结点
render.setLeafIcon(new ImageIcon("QQ.jpg");
jtree.setCellRenderer(render);
.。。。。。。
setResizable(false);
}
public void showData()
{ try
{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver" }
catch(ClassNotFoundException e11)
{System.out.println("错误"+e11); }
try
{sqlcon=DriverManager.getConnection("jdbcdbc:minm","",""
sql=sqlcon.createStatement();
rs=sql.executeQuery("select distinct * from 通讯录表"
while(rs.next())
{String n1=rs.getString(1);
String n8=rs.getString(;
if(n8.equals("高中同学")
{DefaultMutableTreeNode t21=new DefaultMutableTreeNode(n1);
t2.add(t21);
}
else if(n8.equals("大学同学")
{DefaultMutableTreeNode t11=new DefaultMutableTreeNode(n1);
t1.add(t11);
}
else if(n8.equals("初中同学")
{DefaultMutableTreeNode t31=new DefaultMutableTreeNode(n1);
t3.add(t31);
}
else if(n8.equals("小学同学")
{DefaultMutableTreeNode t41=new DefaultMutableTreeNode(n1);
t4.add(t41);
}
else
{DefaultMutableTreeNode t51=new DefaultMutableTreeNode(n1);
t5.add(t51);
}
}
}
catch(SQLException e1){}
}
public void valueChanged(TreeSelectionEvent e)
{if(e.getSource()==jtree)
{dmtn=(DefaultMutableTreeNode)jtree.getLastSelectedPathComponent();
if(dmtn.isLeaf())
{try
{sqlcon=DriverManager.getConnection("jdbcdbc:minm","",""
sql=sqlcon.createStatement();
rs=sql.executeQuery("select * from 通讯录表 where 姓名='"+dmtn.toString()+"'"
jta.setText("");
while(rs.next())
{String n1=rs.getString("姓名");
String n2=rs.getString("性别");
String n3=rs.getString("QQ");
String n4=rs.getString("家庭电话");
String n5=rs.getString("固定电话");
String n6=rs.getString("移动电话");
String n7=rs.getString("所在地址");
String n8=rs.getString("关系");
String n9=rs.getString("生日");
jta.append("显示从数据库中获取的数据......");
}
sqlcon.close();
}
catch(SQLException e1){}
}
else
{jscr1.setViewportView(jtree); //还是不能更新
jta.setText("");
}
}
//把jtree子结点上的图标设成两种,即男性同女性的头像用不同图标表示,但实现后程序执行变得很慢
/*
if(!(cellRenderered))
{cellRenderered=true;
jtree.setCellRenderer(new DefaultTreeCellRenderer()
{public Component getTreeCellRendererComponent(JTree tree,Object value,
boolean sel, boolean expanded, boolean leaf,int row, boolean hasFocus)
{super.getTreeCellRendererComponent(tree, value, sel, expanded,leaf, row, hasFocus);
if(leaf)
{ImageIcon ii= new ImageIcon("QQ.jpg");
setIcon(ii);
try
{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
sqlcon=DriverManager.getConnection("jdbcdbc:minm","","");
sql=sqlcon.createStatement();
rs=sql.executeQuery("select distinct * from 通讯录表 where 姓名='"+value.toString()+"'");
if(rs.next())
{if(rs.getString(2).equals("男"))
ii = new ImageIcon("QQ(ll).jpg");
else
ii = new ImageIcon("QQ(vvv).jpg");
}
sqlcon.close();
}
catch(ClassNotFoundException e12)
{System.out.println("错误"+e12); }
catch(SQLException e1){}
setIcon(ii);
}
return this;
}
});
} */
}
public void actionPerformed(ActionEvent e)
{if(e.getSource()==jmi11)
{int inserting=JOptionPane.showConfirmDialog
(null,"确定退出吗?","Warning",JOptionPane.OK_CANCEL_OPTION);
if(inserting==JOptionPane.OK_OPTION)
{System.exit(0);
}
}
。。。。
}
} |
|