用jgraph做一个类似类的层次图的,我现在是问题是父节点画出来了,子节点是动态加的,如何写语句,让子节点不重颠,贴一段我的代码DefaultGraphCell subfun;
while (results.hasNext()) {
QuerySolution soln = results.nextSolution(); //查询结果中的每一条(称之为满足条件的一个solution)
String s = soln.get("x").toString();
StringTokenizer token = new StringTokenizer(s,"#");
token.nextToken();
//System.out.println(token.nextToken());
subfun=new DefaultGraphCell(token.nextToken());
Map subAttrib=new Hashtable();
attributes.put(subfun, subAttrib);
Rectangle2D subBounds = null;
subBounds=new Rectangle2D.Double(140,140,80,20);
GraphConstants.setBounds( subAttrib, subBounds);
GraphConstants.setBackground(subAttrib, Color.orange);
GraphConstants.setOpaque(subAttrib, true);
GraphConstants.setBorder(subAttrib, BorderFactory.createRaisedBevelBorder());
DefaultPort wp=new DefaultPort();
subfun.add(wp);
DefaultEdge edge=new DefaultEdge();
Map edgeAttrib=new Hashtable();
attributes.put(edge, edgeAttrib);
int arrow=GraphConstants.ARROW_CLASSIC;
GraphConstants.setLineEnd(edgeAttrib, arrow);
GraphConstants.setEndFill(edgeAttrib, true);
ConnectionSet cs=new ConnectionSet(edge,hp,wp);
Object[] cells=new Object[]{edge,fun,subfun};
gmodel.insert(cells, attributes, cs, null, null);
}主要是黄色那部分代码怎么改,谢谢了
while (results.hasNext()) {
QuerySolution soln = results.nextSolution(); //查询结果中的每一条(称之为满足条件的一个solution)
String s = soln.get("x").toString();
StringTokenizer token = new StringTokenizer(s,"#");
token.nextToken();
//System.out.println(token.nextToken());
subfun=new DefaultGraphCell(token.nextToken());
Map subAttrib=new Hashtable();
attributes.put(subfun, subAttrib);
Rectangle2D subBounds = null;
subBounds=new Rectangle2D.Double(140,140,80,20);
GraphConstants.setBounds( subAttrib, subBounds);
GraphConstants.setBackground(subAttrib, Color.orange);
GraphConstants.setOpaque(subAttrib, true);
GraphConstants.setBorder(subAttrib, BorderFactory.createRaisedBevelBorder());
DefaultPort wp=new DefaultPort();
subfun.add(wp);
DefaultEdge edge=new DefaultEdge();
Map edgeAttrib=new Hashtable();
attributes.put(edge, edgeAttrib);
int arrow=GraphConstants.ARROW_CLASSIC;
GraphConstants.setLineEnd(edgeAttrib, arrow);
GraphConstants.setEndFill(edgeAttrib, true);
ConnectionSet cs=new ConnectionSet(edge,hp,wp);
Object[] cells=new Object[]{edge,fun,subfun};
gmodel.insert(cells, attributes, cs, null, null);
}主要是黄色那部分代码怎么改,谢谢了
解决方案 »
- 多线程下Runtime.getRuntime().addShutdownHook(Thread) 的有效性讨论
- 谁能教我写一个简单的外挂,可以加分!
- java中如何使一个线程执行9小时后自己停了?
- 子查询的问题select id,(select top 1 username from stu b where a.id=b.id) as usera from stu a group by id如何取得其中子查询的值呢
- 问题,急
- 在JSP中用JDBC连接SQLSERVER2000的问题,大家都来讨论一下,应该比较有代表性
- Java能不能调用Vb写的dll?
- StringBuffer
- 突然变笨了
- 第一个给予满意答复的给(40)分
- 客户端文件下载结束后怎样删除Server上临时文件
- 菜鸟求助
不好意思,我的分不多,不过如果问题解决了,我可以再加分,谢谢这位大师,可否指点一下