在Netbeans JTree里,原先生成的JTree是一颗假树,可以自己写JTree的初始化函数,再窗口初始化后调用:
public void treeInitialize()
{
DefaultMutableTreeNode root=new DefaultMutableTreeNode("root");
try{
m_DBMetaData = m_connection.getMetaData();
m_tabReset = m_DBMetaData.getTables(null,"%","%",new String[]{"TABLES"});
while(m_tabReset.next()){
DefaultMutableTreeNode t_newNode
= new DefaultMutableTreeNode(m_tabReset.getString("TABLE_NAME"));
root.add(t_newNode);
}
TreeModel treeModel = new DefaultTreeModel(root);
jDBTree.setModel(treeModel);
}
catch(SQLException e){
JOptionPane.showMessageDialog(this,"数据库访问错误");
System.exit(1);
}
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
此段程序是从数据库中取出表名作为JTree的叶节点。
JTree叶节点双击事件的响应和其Text的获得:
添加MouseClicked事件
private void jDBTreeMouseClicked(java.awt.event.MouseEvent evt) {
// TODO 将在此处添加您的处理代码:
DefaultMutableTreeNode selectedNode
=(DefaultMutableTreeNode)jDBTree.getLastSelectedPathComponent(); //获取鼠标点击点
if(selectedNode == null){
return; //如果不是树上的节点
}
if(selectedNode.isLeaf() && evt.getClickCount() == 2){ //确定是叶节点且是双//击事件。
viewTable(selectedNode.toString()); //参数为节点的Text。
}
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
【编辑推荐】