Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-如何绘制虚线和波浪线?_Java_Swing_Graphics_Draw_Java 2d - Fatal编程技术网

Java-如何绘制虚线和波浪线?

Java-如何绘制虚线和波浪线?,java,swing,graphics,draw,java-2d,Java,Swing,Graphics,Draw,Java 2d,我想用java绘制虚线和波浪线。 我可以使用Graphics-和g.drawLine()方法绘制法线。 有没有一种简单的方法可以在图形2d或类似的东西中绘制虚线和波浪线 现在我使用MouseListener的坐标来画线。所以它有点像绘画小姐 虚线 可以像这样创建虚线 波浪线 可能重复的线条是否都是水平/垂直的,或者它们可以是任意角度的?@AND它们可以是任意角度的。解决了虚线问题。我现在对波浪线有问题。提示:一定要添加@DavidPostill(或者任何人,@很重要)以通知某人有新的评论。

我想用java绘制虚线和波浪线。 我可以使用
Graphics
-和
g.drawLine()
方法绘制法线。 有没有一种简单的方法可以在
图形2d
或类似的东西中绘制虚线和波浪线

现在我使用
MouseListener
的坐标来画线。所以它有点像绘画小姐

虚线

可以像这样创建虚线

波浪线


可能重复的线条是否都是水平/垂直的,或者它们可以是任意角度的?@AND它们可以是任意角度的。解决了虚线问题。我现在对波浪线有问题。提示:一定要添加@DavidPostill(或者任何人,
@
很重要)以通知某人有新的评论。每个评论只能通知一个人。目前它似乎已经关闭,但希望这只是暂时的:该网站包含一些复杂笔画的好例子。他们展示了一些不错的斯托克技巧,这些技巧超越了虚线(虚线实际上在…的基础教程中介绍了后者)。谢谢,我会尝试一下。。但是波浪线呢?更新了@Mike_Not有罪。这些都保存在我的电脑上。它们应该有用。请不要建议人们,特别是像@Mike_Not有罪的新手,直接用JFrame的画法画画。看到这一切就像钉子刮黑板一样。这让我恶心,我明白了。竖起大拇指@HovercraftFullOfEels@DeepanshuBedi。请阅读-当你找到一个有用的资源,可以帮助回答一个问题(从另一个网站或在堆栈溢出的答案),请确保你做到以下所有:提供一个链接到原始页面或答案报价只有相关部分提供了原作者的姓名
 public void drawDashedLine(Graphics g, int x1, int y1, int x2, int y2){

            //creates a copy of the Graphics instance
            Graphics2D g2d = (Graphics2D) g.create();

            Stroke dashed = new BasicStroke(3, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 0, new float[]{9}, 0);
            g2d.setStroke(dashed);
            g2d.drawLine(x1, y1, x2, y2);

            //gets rid of the copy
            g2d.dispose();
    }
import java.awt.geom.*;
import java.awt.*;
import javax.swing.*;

public class CurveDraw extends JFrame {
        public static void main(String[] args) {
                CurveDraw frame = new CurveDraw();
                frame.setVisible(true);
        }
        public CurveDraw() {
                setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                setSize(400,400);
        }
        public void paint(Graphics g) {
                QuadCurve2D.Double curve = new QuadCurve2D.Double(50,100,100,170,150,100);
                ((Graphics2D)g).draw(curve);
        }
}