import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
public class BasicStrokeDemo extends JApplet {
public BasicStrokeDemo() {
add(new ShapePanel());
}
class ShapePanel extends JPanel {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D)g;
g2d.setStroke(new BasicStroke(15.0f, BasicStroke.CAP_ROUND,
BasicStroke.JOIN_BEVEL));
g2d.draw(new Line2D.Double(10, 10, 40, 80));
g2d.translate(100, 0);
g2d.setStroke(new BasicStroke(15.0f, BasicStroke.CAP_SQUARE,
BasicStroke.JOIN_BEVEL));
g2d.draw(new Line2D.Double(10, 10, 40, 80));
g2d.translate(100, 0);
g2d.setStroke(new BasicStroke(15.0f, BasicStroke.CAP_BUTT,
BasicStroke.JOIN_BEVEL));
g2d.draw(new Line2D.Double(10, 10, 40, 80));
g2d.translate(100, 0);
g2d.draw(new Rectangle2D.Double(10, 10, 30, 70));
g2d.translate(100, 0);
g2d.setStroke(new BasicStroke(15.0f, BasicStroke.CAP_ROUND,
BasicStroke.JOIN_MITER));
g2d.draw(new Rectangle2D.Double(10, 10, 30, 70));
g2d.translate(100, 0);
g2d.setStroke(new BasicStroke(15.0f, BasicStroke.CAP_SQUARE,
BasicStroke.JOIN_ROUND));
g2d.draw(new Rectangle2D.Double(10, 10, 30, 70));
g2d.translate(100, 0);
g2d.setStroke(new BasicStroke(4.0f, BasicStroke.CAP_SQUARE,
BasicStroke.JOIN_ROUND, 1.0f, new float[]{8}, 0));
g2d.draw(new Line2D.Double(10, 10, 40, 80));
}
}
public static void main(String[] args) {
BasicStrokeDemo applet = new BasicStrokeDemo();
applet.init();
applet.start();
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("BasicStrokeDemo");
frame.getContentPane().add(applet, BorderLayout.CENTER);
frame.setSize(800, 130);
frame.setVisible(true);
}
}