、在图形界面中绘制二为坐标系统()其中x轴位于绘图区正中间,y轴位于绘图区的最左边2、根据用户输入的实验数据绘制出数据点和实验连线要求实验点用小叉号表示,并以(x,y)的格式表示出坐标数值
最后用连线连接相邻的数据点
3、跟踪用户鼠标,并时刻把鼠标位置显示在状态拦那位大哥帮帮忙,小妹万分感激

解决方案 »

  1.   

    你描述的有点不清楚:
     绘出的X,Y轴正方向,Y轴正方向是向上,是向下?
      

  2.   

    1.首先你要运用坐标变换,将坐标原点移动,确定坐标的正方向,以及实验系统的坐标与图形坐标的比例变换.(Graphics2D中,有比较简单的方法调用,translate(),rotate(),scale())2.小叉号可以用两条直线表示.直线的交叉点即是数据坐标点3,将坐标点用直线连接.4.(x,y)直接显示在图形上,不好,应该鼠标移动到数据点的邻近范围的时候显示,这样才
    不至于(x,y)字符串掩盖坐标点.(可以捕捉mouseMotion事件,判断当前的鼠标位置.要转化为相应的实验系统的坐标,如果在数据点邻近范围,则重绘面板,并且在坐标点位置显示,如果不是,也要分两种情况,前一个坐标是否被绘制,如果是,则重绘面板,将之删除,如果没有,则不必重绘面板)5.要将鼠标点的坐标点显示在状态栏中,只需要捕捉mouseMotion事件即可.只是个人意见,做个参考意见吧.
      

  3.   

    //给你个 参考的例子,有些功能,你自己试试+一下,现在大雷,下雨,只能写这么多了import java.awt.*;
    import java.awt.event.*;
    import java.util.Vector;
    import java.util.Enumeration;class GfxTest extends Frame{
        
        Vector v = new Vector();
        
        public static void main(String[] args) {
            GfxTest test = new GfxTest();
            test.a();
         
        }    public void a(){
            this.setSize(300, 300);
            this.setVisible(true);
            this.drawX();
            this.addMouseListener(new MouseAdapter(){
            
             int x1;
             int y1;
             int x2; 
             int y2;
             Graphics g;
             public void mousePressed(MouseEvent e){
            x1=e.getX();
             y1=e.getY();
             g = e.getComponent().getGraphics();
              g.drawString("("+x1+","+y1+")",x1,y1);
           
         }
        
         public void mouseReleased(MouseEvent e){
             x2=e.getX();
             y2=e.getY();
            
             MyLine line = new MyLine(x1,y1,x2,y2);
           
            g.drawString("("+x2+","+y2+")",x2,y2);
            g.drawLine(x1, y1, x2, y2);
              v.add(line);
         }
             });
        }
        
        public void paint(Graphics g){
         this.drawX();
         Enumeration enums = v.elements();
         while(enums.hasMoreElements()){
         MyLine line = (MyLine)enums.nextElement();
         line.drwaMe(g);
         }
        }
        
        public void drawX(){
         Dimension d = this.getSize();
            int y = (int)d.getHeight();
            int x = (int)d.getWidth();
            this.getGraphics().drawLine(0,y/2,x,y/2);
        }
    }class MyLine{
    int x1,x2,y1,y2;

    public MyLine(int x1,int y1,int x2,int y2){
    this.x1 = x1;
    this.y1 = y1;
    this.x2 = x2;
    this.y2 = y2;
    }

    public void drwaMe(Graphics g){

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

  4.   

    我靠.学生吗?
    这种东西也要问,查查API就出来了.
    现在的年轻人太浮躁啊~~