基于Applet构造圆形网状拓扑图

来源:互联网 发布:checksum 算法 编辑:程序博客网 时间:2024/04/29 00:12

    学JAVA时间不长,用JAVA 时间更少。这段时间做的一个小课题中却涉及到了JAVA的Applet与数据库的通信技术,这个程序就是在没有连接数据库的情况下的仿真,测试用Applet技术构造圆形网状拓扑图。在此给出了具体的JAVA代码和Applet的运行结果截图,以供大家参考。疏漏之处必定很多,还望大家多多指教!

 

package o1;
import java.lang.Math;
import java.awt.*;  
import java.applet.Applet;  
   
public   class   MainWindow1   extends   Applet{  

/**
  * 张明烁于2008年7月17日夜……
  */
 private static final long serialVersionUID = 1L;
int x;
int y;
double r=250;
double count = 24;
public   MainWindow1()
{
 setSize(600,600);  
 setVisible(true);  
 setLayout(null);
 for(int i=0;i<count;)
 {  
   int radx;
   int rady;
   rady=-(int)(r*Math.sin(i*2*Math.PI/count));
   radx=(int)(r*Math.cos(i*2*Math.PI/count));
   x=300+radx;
   y=300+rady;
   Button  b = new Button("Q"+(++i));
   add(b);
   b.setBounds(x,y,25,25);
 }
}

public void paint(Graphics g)
 {
  int i=0;
  int j=0;
  for(;j<count;j++)
  {
   int radx=(int)(r*Math.cos(j*2*Math.PI/count));
   int rady=-(int)(r*Math.sin(j*2*Math.PI/count));
   x=300+radx;
   y=300+rady;
   for(i=0;i<count;i++)
   {
    int x0=300+radx;//当前要遍历的按横坐标。
    int y0=300+rady;//当前要遍历的按横坐标。
    if(true)//将所有按钮链接起来……
    {
     g.drawLine(x,y,x0,y0);//绘制一条直线
     rady=-(int)(r*Math.sin(i*2*Math.PI/count));
     radx=(int)(r*Math.cos(i*2*Math.PI/count));
    }
    else
    {
     rady=-(int)(r*Math.sin(i*2*Math.PI/count));
     radx=(int)(r*Math.cos(i*2*Math.PI/count));
    }
   }
   
  }
  
 }
}

 

运行如下图所示:

http://p.blog.csdn.net/images/p_blog_csdn_net/mingshuo0615/428960/o_Snap2.bmp