import javax.swing.*; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.geom.*; import java.awt.BasicStroke; public class StrokeTest5 extends JPanel{ public static void main(String[] args){ JFrame frame = new JFrame(); StrokeTest5 app = new StrokeTest5(); frame.getContentPane().add(app); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds(10, 10, 300, 200); frame.setTitle("ƒ^ƒCƒgƒ‹"); frame.setVisible(true); } public void paintComponent(Graphics g){ Graphics2D g2 = (Graphics2D)g; g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); float dash1[] = {10.0f, 3.0f}; BasicStroke dsahStroke1 = new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 3.0f, dash1, 0.0f); g2.setStroke(dsahStroke1); g2.draw(new Line2D.Double(50, 30, 230, 30)); BasicStroke dsahStroke2 = new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 3.0f, dash1, 3.0f); g2.setStroke(dsahStroke2); g2.draw(new Line2D.Double(50, 80, 230, 80)); float dash2[] = {10.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f}; BasicStroke dsahStroke3 = new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 3.0f, dash2, 0.0f); g2.setStroke(dsahStroke3); g2.draw(new Line2D.Double(50, 130, 230, 130)); } }