问题描述
我必须在 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 (将#修改为@)