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);
}
}