⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makestrokeframe.java

📁 Java灵感编程1-101之61-80
💻 JAVA
字号:
package makestroke;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.awt.geom.*;/** * <p>Title:  Make Stroke Demo</p> * <p>Description: This is a Make Stroke Demo</p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: D6-125</p> * @author liujun * @version 1.0 */public class MakeStrokeFrame extends JFrame {  JPanel contentPane;  BorderLayout borderLayout1 = new BorderLayout();  //Construct the frame  public MakeStrokeFrame() {    enableEvents(AWTEvent.WINDOW_EVENT_MASK);    try {      jbInit();    }    catch(Exception e) {      e.printStackTrace();    }  }  //Component initialization  private void jbInit() throws Exception  {    //setIconImage(Toolkit.getDefaultToolkit().createImage(MakeStrokeFrame.class.getResource("[Your Icon]")));    contentPane = (JPanel) this.getContentPane();    contentPane.setLayout(borderLayout1);    this.setSize(new Dimension(400, 300));    this.setTitle("Make Stroke Frame Demo");  }  //Overridden so we can exit when window is closed  protected void processWindowEvent(WindowEvent e) {    super.processWindowEvent(e);    if (e.getID() == WindowEvent.WINDOW_CLOSING) {      System.exit(0);    }  }  public void paint(Graphics g) {    /**@todo: Override this java.awt.Container method*/      super.paint( g);       float width=10f;//设置线段宽度       float miterLimit = 10.0F;       float[] dashPattern = { 5F, 5F, 8F, 5F, 10F, 5F, 12F,            5F, 15F, 5F, 18F, 5F, 21F,5F, 23F, 5F, 26F, 5F };       float dashPhase = 0;      Graphics2D g2 = (Graphics2D)g;//使用Java 2D        //以虚线模式画线        g2.setStroke(new BasicStroke(width, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL,            miterLimit, dashPattern, dashPhase));        g2.draw(new Line2D.Float(60.0f,60.0f,200.0f,60.0f));        g2.drawString("虚线模式",210f,60f);        //画一条直线,笔画直接结尾        g2.setStroke( new BasicStroke(width,  BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL));        g2.draw(new Line2D.Float(60.0f,100.0f,200.0f,100.0f));        g2.drawString("实线模式,笔画直接结尾(butt cap)",210f,100f);         //画一条直线,末尾加半圆        g2.setStroke( new BasicStroke(width,  BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL));        g2.draw(new Line2D.Float(60.0f,140.0f,200.0f,140.0f));        g2.drawString("实线模式,笔画末尾加半圆(round cap)",210f,140f);        //画一条直线,末尾加半个正方形        g2.setStroke( new BasicStroke(width,  BasicStroke.CAP_SQUARE, BasicStroke.JOIN_BEVEL));        g2.draw(new Line2D.Float(60.0f,180.0f,200.0f,180.0f));        g2.drawString("实线模式,笔画末尾加半个正方形(square cap)",210f,180f);       //构造三个连接路径       GeneralPath path1 = new GeneralPath();       GeneralPath path2 = new GeneralPath();       GeneralPath path3 = new GeneralPath();       //使用夹角平分方式        path1.moveTo(60.0f,220.0f);        path1.lineTo(100.0f,220.0f);        path1.lineTo(110.0f,240.0f);        g2.setStroke( new BasicStroke(width,  BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL));        g2.draw(path1);        g2.drawString("Bevel Join 连接类型",60f,280f);         //使用加“长钉”方式连接两个线段        path2.moveTo(180.0f,220.0f);        path2.lineTo(220.0f,220.0f);        path2.lineTo(230.0f,240.0f);        g2.setStroke( new BasicStroke(width,  BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER));        g2.draw(path2);        g2.drawString("Miter Join 连接类型",180f,280f);        //使用圆帽连接方式        path3.moveTo(300.0f,220.0f);        path3.lineTo(340.0f,220.0f);        path3.lineTo(350.0f,240.0f);        g2.setStroke( new BasicStroke(width,  BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND));        g2.draw(path3);        g2.drawString("Round Join 连接类型",300f,280f);  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -