日期:2014-05-20  浏览次数:20807 次

求助复杂显示(组织结构图),求思路!
想在做个小工具,显示组织关系图,并能打印,现在难点如题,在怎么绘制出来这个树状图。




想得结构是:
对象USER,除了基本的属性外,有一个属性石专门标注组织结构的。
对象结构图方块。


表结构:
第一个表USER表,储存人物属性
第二个表组织结构表,类似CMS的分类


生成树状的时候:
根据表二去查询表一,拿出一个组织去查询组织里面的人,然后构成一个对象,就是组织名和组织内的人。


现在难点有两个:
1.控制方块合适的大小
2.生成对象方块后怎么绘制成树形结构


比如:有的组织名8个字符,人只有一个3字符;有的组织名3字符,但有5-10个人,至少20个字符吧;有的组织下面有2-3级组织结构,怎么绘制图

因为绘制图直接影响下步打印,所以还要适当照顾尺寸。


详细的功能还要考虑分为:绘制全部结构、绘制部门结构等,就是大小结构。

------解决方案--------------------
引用:

import java.awt.Color;
import java.awt.Graphics;

import javax.swing.JFrame;

public class AA extends JFrame {

public void test() {

}

public static void main(String[] args) {
JFrame m = new AA();
m.setSize(400, 200);
m.setBackground(Color.black);
m.setVisible(true);
Graphics g = m.getGraphics();
g.setColor(Color.black);
g.drawLine(0, 0, 100, 100);
m.repaint();
}

@Override
public void paint(Graphics g) {

super.paint(g);
g.drawRect(50, 50, 100, 40);
g.drawRect(50, 120, 100, 40);
g.drawLine(100, 90, 100, 120);
}

}




恩,这个例子明白了,绘制是一个一个画出来的。



对已那个方块我的实现是打算用BOX延Y布局的不定数量的label(  组织名取出的人数+1  个label),java能不能实现类似网页CSS那样的描边功能?,如果能给BOX描边这个方框也就简单了。




然后还想请教打印是怎么实现的,这会才发现自己学这么久没接触到过这方面

主要在WINDOWS下应用,如果JAVA不能完成的话,能提交给WINDOWS完成也行的。先谢谢前面的解答


回复的时候引用我一下。不然不知道


CSS那样的描边功能
这个是什么功能?边框的属性吗?可以设置Graphics 的属性。比如颜色,画笔的宽度等,这个你还是去多看看API吧。

打印太简单了。参考:http://dontsan.iteye.com/blog/564877