import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.tree.*;
import java.sql.*;
import java.util.*;
public class drawing{
public static void main(String[] args) {
JFrame frame = new TreeEditFrame();
frame.setLocationRelativeTo(null);
frame.show();
}
}
class TreeEditFrame extends JFrame {
private DefaultTreeModel model;
private JTree tree;
public TreeEditFrame() {
setTitle("Build Tree");
setSize(300, 200);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
// construct tree
TreeNode root = makeSampleTree();
model = new DefaultTreeModel(root);
tree = new JTree(model);
// tree.setEditable(true);
// add scroll pane with tree to content pane
Container contentPane = getContentPane();
JScrollPane scrollPane = new JScrollPane(tree);
contentPane.add(scrollPane, "Center");
}
public TreeNode makeSampleTree() {
DefaultMutableTreeNode root = new DefaultMutableTreeNode("所有节点");
String JDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String connectionURL = "jdbc:odbc:OracleTest";
Map staff = new HashMap();
try {
Class.forName(JDriver);
} catch (ClassNotFoundException e) {
System.out.println("ForName:" + e.getMessage());
}
try {
Connection con = DriverManager.getConnection(connectionURL,
"scott", "tiger");
Statement stmt = con.createStatement();
ResultSet rs = stmt
.executeQuery("select * from scott.tree order by ParentID,ID");
while (rs.next()) {
int i = rs.getInt("ID");
int j = rs.getInt("ParentID");
String str = rs.getString("Text");
DefaultMutableTreeNode ParentId = (DefaultMutableTreeNode) staff
.get(new Integer(j));
DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(str);
if (ParentId != null)
ParentId.add(newNode);
else
root.add(newNode);
staff.put(new Integer(i), newNode);
}
stmt.close();
con.close();
} catch (SQLException e) {
System.out.println("SQLException:" + e.getMessage());
}
return root;
}
}
/*
* create table SCOTT.TREE ( ID INTEGER not null, PARENTID INTEGER not null,
* TEXT VARCHAR2(50) default '' not null, EXPLAIN VARCHAR2(100));
*/
分享到:
相关推荐
在别的网站看到的,觉得不错,给大家看看,好的东西,大家分享。
python 动态绘制一棵树
opengl 做的很漂亮的一棵树,用分形算法实现 含代码
主要介绍了Python+Turtle动态绘制一棵树实例分享,具有一定借鉴价值,需要的朋友可以参考下
树画 绘制一棵树(树干,四肢,树枝等)并进行编辑,并影响其外观的属性
绘制树
QT实现圣诞节日主题特效代码,绘制一棵装饰性圣诞树。程序首先使用绘图类绘制圣诞树框架,UI界面在圣诞树框架内放置多个QLabel控件用来放置多个圣诞装饰品,定时器实现装饰物动态变化效果。
之前版本是鼠标每点一次生成一棵树,这次增加了树的生长过程.拿鼠标一直就就行了
想象您正在描述如何绘制一棵树。 您可能会说: 画一条垂直线 在该行的顶部,以AV形状绘制两条较小的线(“分支”) 在这两个分支中的每个分支的末端,绘制两个甚至更小的分支 继续重复该过程,绘制越来越小的...
以C#/ WinForms / NET Core控件实现的树图绘制算法,只需最少的努力即可产生令人惊讶的良好结果
在这里我们要使用到一个简单的有关画图的模块——turtle 下面是turtle的常用函数: 上面的太长了你也可以选择不看,因为我们只用到一些简单的函数。 简单介绍一下turtle模块,这个模块叫做海龟作图,就是模拟海龟...
完整代码,可以直接运行,用简单图形画一棵树,设计视点的旋转和平移
用VB编程实现一个图形绘制程序,绘一棵大树,其实很简单,想知道原理的就下载研究一下吧。
HTML5 SVG绘制大树,这个例子的动画效果可以让你感觉到一棵大树的生长过程,树叶慢慢长出来,最后成了一棵茁壮的大树,这是使用的SVG技术,和Canvas相比,SVG似乎更强大。
html5 svg绘制卡通树动画特效是一款基于html5的svg功能实现的线条勾勒出一棵小树的效果。
在这个项目中,我们将使用Python的Turtle图形库来模拟樱花树的生长过程,并绘制出一棵栩栩如生的樱花树。您将学习如何使用循环和条件语句来控制树的形状和大小,以及如何使用颜色和线条来增强画面的视觉效果。二、所...
VB6.0画图 绘制图案的例子源码,可以动态绘制出一棵大树,在绘制前可设置一些参数,比如每次画大树树枝的数量、固定率、角度、损坏率。另外还可以设置树叶、宽度、风向设置等,还可以设置窗口是否在最前显示,也就是...
这个程序可实现最优二分检索树的构造,绘制和检索,请在Turboc 2.0下运行。
1、适合基础入门的前端小伙伴 2、适合使用jQuery锻炼...3、锻炼css+div布局实现绘制一棵圣诞树,通过箭头方式布局绘制 4、使用jQuery实现闪烁霓虹灯效果 5、javascript随机函数的使用 6、RGB颜色值,通过随机方式生成