AWT BasicStroke类

1 什么是Java AWT BasicStroke

BasicStroke 类声明默认 sRGB 颜色空间中的颜色或由 ColorSpace 标识的任意颜色空间中的颜色。

2 Java AWT BasicStroke的语法

public class BasicStroke
   extends Object
      implements Stroke

3 Java AWT BasicStroke的构造方法

构造方法 描述
BasicStroke() 使用所有属性的默认值构造一个新的 BasicStroke。
BasicStroke(float width) 构造一个具有指定线宽和帽和连接样式的默认值的实心 BasicStroke。
BasicStroke(float width, int cap, int join) 构造具有指定属性的实体 BasicStroke。
BasicStroke(float width, int cap, int join, float miterlimit) 构造具有指定属性的实体 BasicStroke。
BasicStroke(float width, int cap, int join, float miterlimit, float[] dash, float dash_phase) 构造一个具有指定属性的新 BasicStroke。

4 Java AWT BasicStroke的方法

方法 描述
Shape createStrokedShape(Shape s) 返回一个 Shape,其内部定义了指定 Shape 的描边轮廓。
boolean equals(Object obj) 测试指定对象是否等于此 BasicStroke,首先测试它是否为 BasicStroke,然后将其宽度、连接、上限、斜接限制、破折号和破折号阶段属性与此 BasicStroke 的属性进行比较。
float[] getDashArray() 返回表示虚线段长度的数组。
float getDashPhase() 返回当前的破折号阶段。
int getEndCap() 返回端盖样式。
int getLineJoin() 返回线连接样式。
float getLineWidth() 返回线宽。
float getMiterLimit() 返回斜接连接的限制。
int hashCode() 返回此笔画的哈希码。

5 Java AWT BasicStroke的例子

让我们看一个简单的Java AWT BasicStroke类示例。

package com.yiidian;

import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.geom.Rectangle2D;

public class AWTGraphicsDemo extends Frame {
       
   public AWTGraphicsDemo(){
      super("一点教程网:Java AWT Examples");
      prepareGUI();
   }

   public static void main(String[] args){
      AWTGraphicsDemo  awtGraphicsDemo = new AWTGraphicsDemo();  
      awtGraphicsDemo.setVisible(true);
   }

   private void prepareGUI(){
      setSize(400,400);
      addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      }); 
   }    

   @Override
   public void paint(Graphics g) {
      Graphics2D g2 = (Graphics2D)g;        
      g2.setStroke(new BasicStroke(3.0f));
      g2.setPaint(Color.blue);

      Rectangle2D shape = new Rectangle2D.Float();
      shape.setFrame(100, 150, 200,100);
      g2.draw(shape);

      Rectangle2D shape1 = new Rectangle2D.Float();
      shape1.setFrame(110, 160, 180,80);
      g2.setStroke(new BasicStroke(1.0f));
   
      g2.draw(shape1);
      Font plainFont = new Font("Serif", Font.PLAIN, 24);        
      g2.setFont(plainFont);
      g2.setColor(Color.DARK_GRAY);
      g2.drawString("yiidian.com", 130, 200);
   }
}

输出结果为:

热门文章

优秀文章