一个简单的画图问题~白送分了~
public class BiTree extends JFrame{
/**
*
*/
private static final long serialVersionUID = 1751896756555614768L;
/**
* @param args
*/
int floor = 3; //层数
int count = 3; //个数
int nodeRadius = 30; // 节点圆圈的半径
int width = 40;
int height = 900/2-nodeRadius;
int distanceHeight = 200; // 两个节点之间的宽度差
int distanceWidth = 110; // 两个节点之间的高度差
int disHChange = distanceHeight/2;
public static void main(String[] args) {
// TODO 自动生成方法存根
new BiTree().show();
}
public BiTree(){
setBackground(Color.white);
setTitle("图形实例");
setSize(900,600);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt){
setVisible(false);
System.exit(0);
}
});
Container contentPane= getContentPane();
contentPane.add(new GExamplePanel());
}
class GExamplePanel extends JPanel{
/**
*
*/
Graphics myGraphics;
private static final long serialVersionUID = 1359674645063539054L;
public void paintComponent(Graphics g){
g.setColor(getForeground());
Font font = new Font("宋体",Font.PLAIN+Font.BOLD,16);
g.setFont(font);
g.drawOval(height,width,nodeRadius*2,nodeRadius*2);
int x = height + nodeRadius;
int y = width+ nodeRadius;
height =height- distanceHeight;
width= width+distanceWidth;
for (int i = 0; i < count; ++i){
g.drawOval(height,width,nodeRadius*2,nodeRadius*2);
for (int z = i;z<count;++z){
g.drawOval(height-disHChange,width+distanceWidth,nodeRadius*2,nodeRadius*2);
g.drawOval(height+disHChange,width+distanceWidth,nodeRadius*2,nodeRadius*2);
g.drawOval(height,width+distanceWidth,nodeRadius*2,nodeRadius*2);
}
g.drawLine(x, y, height+nodeRadius, width+nodeRadius);
height = height + distanceHeight;
}
width= width+distanceWidth;
}
}
}
求一段 设置,层数和,个数 能够自动画出图来的代码~谢谢,各位大虾了,小弟初学~