当然用数组来存放这些点的坐标信息
然后画图刚好有一个方法g.drawPolyline(int[] x,int[] y,int nPoint);可以将所有点连接起来

解决方案 »

  1.   

    to asdmonster:
    其实我也想过算法的问题,但是这个问题已经解决了,我是通过在后台数据库Oracle中利用存储过程来实现公交车线路的查询算法,然后将线路经过的站点的坐标依次插入到一个名为tb_javaresult的表中,查询结果(即乘车方案,字符串类型)插入到了另一个名为tb_checkplan的表中。我现在遇到的难题是:
    1、applet与后台数据库Oracle的连接问题;
    2、就如楼顶我的问题一样,将tb_javaresult表中的坐标值依次传递给applet,其中applet每接受一个坐标参数后应完成的工作为:在背景地图上显示这个坐标值,然后用与上一个坐标值连线;依次类推,最后显示出一个完整的乘车线路图。
    我查阅过很多有关java2D方面的资料,好像要在背景图上放置新的图片需要用到双缓冲的概念。那么,在背景图上根据坐标值描点和连线算不算是在背景图上放置新的图片呢?困惑呀!
      

  2.   

    诸位大虾 
    我正在所一个applet动态画曲线,Sql server 数据库
    我用servlet 从数据库里面的读出参数 
    比如说温度          //动态监控变化的温度---数据采集有下位机作
    传给 applet 
    我在本地机子上调试了出来http://127.0.0.1:8080
    但是 只剩是一段一段的当参数改变的时候就不能显示从改变的那一点和下一点之间的连线
    更惨的是我用ip调试的时候根本就不画线了 ---(线程死了)
    很郁闷 
    (毕业设计马上完工 很着急 急死了)
    我把我的代码附上
    那位大虾指点一下在下感激不尽 如果能有机会我一定请客感谢大家//代码***********
    import java.io.*;
    import java.net.*;
    //import java.lang.*;
    import java.awt.*;
    import java.applet.*;public class drawline extends java.applet.Applet    implements Runnable {    Thread dthread;    URL fileur;
        int i=1;
        //int x;
        int y;
        //int b; 
        private int x1 ;
        private int x2 ;
        private int y1 ;
        private int y2 ;
        String f;     public void init() {
          //用127.0.0.1:8080可是画出但是效果不好,202.196.47.7自己的IP用于对外发布,线程只开了一次就停了而且不能得到SERVLET的数据
    String url = "http://127.0.0.1:8080/examples/servlet/db";  //db 用于数据库读取的servlet名称   
           // String url = "http://202.196.47.7:8080/examples/servlet/db";        try { fileur = new URL(url); }         catch ( MalformedURLException e) {                System.out.println("Can't get URL: " );
            }     }     public void start() {        if (dthread == null)         {                dthread = new Thread(this);                dthread.start();        }    }    public void stop() {        if (dthread != null) {                dthread.stop();                dthread = null;        }    }    public void run() {
    //i=i+1;
            InputStream filecon = null;        DataInputStream filedata = null;        String fileline;        //while(true){
    while(true){
                try {
                 i=i+1;                filecon = fileur.openStream();                filedata = new DataInputStream(filecon);                fileline = filedata.readLine();
                    f =fileline;
                    //g =Integer.valueOf(fileline).intValue();
                    y = Integer.valueOf(f).intValue();
                 }            }           catch (IOException e) {                System.out.println("Error in I/O:" + e.getMessage());           }           try{                dthread.sleep(1000);           }           catch (InterruptedException e){}
    x2 = i;
           y2 = y;
          
           repaint();
           x1 = x2;
           y1 = y2;
            
             }
                  }
       
          
        
        public void paint(Graphics g){
         update(g);
    }

        public void update(Graphics g){

    g.setColor(Color.black);

    g.drawLine(x1,y1,x2,y2);
    }


        
    }