我要在JPanel中绘制一条曲线应该怎么画啊,请大虾们帮帮忙?
请给出具体的实现过程 如果曲线太复杂  就画条直线也可. 我主要想看看是怎么实现的.谢谢了!

解决方案 »

  1.   

    尝试用这个  Canvas 类,专门用来画图的,class TestDraw extends Canvas{
        public void paint(Graphics g){
            g.drawLine(x1, y1, x2, y2);
        }
    }随手写的伪代码,大致是这样的!在 Canvas 里画图,再把它放进Panel里。
     
      

  2.   

    不知道你具体意图是什么?不知这样是否满足你要求:
    import javax.swing.*;
    import java.awt.*;
    import java.awt.geom.*;public class DrawPanel extends JPanel{
    public void paintComponent(Graphics g){
     super.paintComponent(g);
     Graphics2D g2=(Graphics2D)g;
     g2.setColor(Color.RED);
     g2.draw(new Line2D.Double(0,0,500,500));
    }
    public static void main(String[] args){
    JFrame frame=new JFrame();
    frame.setSize(600,600);
    frame.getContentPane().add(new DrawPanel());
    frame.setVisible(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    }
      

  3.   

    在JPanel中绘制图形,我一直都是用楼上的这种方法.
    绘制曲线,用的是把曲线分成一小段一小段的线段,然后把这些线段连起来,看上去就是曲线了,在计算机上绘制曲线,都是用这种用小线段来逼近曲线的,当线段越短时,看起来就更平滑,就越接近曲线.
      

  4.   

    基本的图形都给你画出来了
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;class DemoPanel extends JPanel
    {
    public void paintComponent(Graphics g)
    {
    g.setFont(new Font("宋体",Font.PLAIN+Font.BOLD,14));
    g.setColor(Color.gray);
    g.drawLine(0,0,250,50);
    g.drawLine(50,0,80,60);
    g.drawLine(30,0,200,100);
    g.setColor(Color.black);
    g.drawOval(30,0,60,40);
    g.drawRoundRect(150,-20,80,40,10,10);
    g.setColor(Color.gray);
    g.fillRoundRect(60,30,80,40,10,10);
    g.setColor(Color.black);
    g.fillOval(80,0,80,40);
    }
    }
    class DemoFrame extends JFrame
    {
    public DemoFrame()
    {
    setBackground(Color.white);
    setTitle("绘制图形");
    setSize(300,200);
    addWindowListener(new WindowAdapter(){
    public void windowClosng(WindowEvent evt){
    System.exit(0);
    }
    });
    Container con=getContentPane();
    con.add(new DemoPanel());
    }
    public static void main(String args[])
    {
    DemoFrame f=new DemoFrame();
    f.show();
    }
    }
      

  5.   

    http://www.blogjava.net/Swing/archive/2007/04/27/113869.html
    用Swing写的仿jfreechart的曲线面板及源码