在java中逐渐增加笔划宽度

问题描述

我必须在 java 中的链接上绘制图形作为作业。The assignment

到目前为止,我已经能够使用 CubicCurve2D 绘制第一条弧线,如第二个链接上的图片所示,但现在我面临着逐渐增加线宽的问题。What I have achieved until now

谁能告诉我是否有任何方法可以实现它。谢谢!

这是面板的代码

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.*;
import java.awt.geom.*;
import java.awt.image.*;
public class GraphicsDemo extends JPanel {

    public void paintComponent(Graphics g){

        super.paintComponent(g);
        this.setBackground(Color.BLACK);

        Graphics2D g2D = (Graphics2D) g;

        g2D.setPaint(new Color(150,250,187));
        g2D.setstroke(new Basicstroke(1));
        //g2D.drawArc(-50,50,300,90);

        CubicCurve2D cubic = new CubicCurve2D.Double(0,230,80,90,130,220,190);
        g2D.draw(cubic);
    }

}

这是框架的代码

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Test extends JFrame implements MouseListener,MouseMotionListener{

    GraphicsDemo graphicDemo = new GraphicsDemo();

    int x,y;
    String str="";
    public void mousepressed(MouseEvent e)
    {
        x = e.getX();
        y = e.getY();
        str = "Mouse pressed";
        System.out.println("Coordinates of x: " + x + ",coordinates of y :" +y);
        repaint();
    }
    public void mouseReleased(MouseEvent e)
    {
        x = e.getX();
        y = e.getY();
        str = "Mouse Released";
        repaint();
    }
    public void mouseClicked(MouseEvent e)
    {
        x = e.getX();
        y = e.getY();
        str = "Mouse Clicked";
        repaint();
    }
    public void mouseEntered(MouseEvent e)
    {
        x = e.getX();
        y = e.getY();
        str = "Mouse Entered";
        repaint();
    }
    public void mouseExited(MouseEvent e)
    {
        x = e.getX();
        y = e.getY();
        str = "Mouse Exited";
        repaint();
    }
    // override MouseMotionListener two abstract methods
    public void mouseMoved(MouseEvent e)
    {
        x = e.getX();
        y = e.getY();
        str = "Mouse Moved";
        repaint();
    }
    public void mouseDragged(MouseEvent e)
    {
        x = e.getX();
        y = e.getY();
        str = "Mouse dragged";
        repaint();
    }


    public test()
    {

        this.setSize(420,420);
        this.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);
        this.add(graphicDemo);

        this.setVisible(true);
        this.addMouseListener(this);
        this.addMouseMotionListener(this);

    }

    public static void main(String[] a){
        new test();
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)