Java Tutorial/2D Graphics/Stroke

Материал из Java эксперт
Перейти к: навигация, поиск

A dashed stroke

   <source lang="java">

import java.awt.BasicStroke; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Rectangle; import javax.swing.JComponent; import javax.swing.JFrame; public class BasicDraw {

 public static void main(String[] args) {
   new BasicDraw();
 }
 BasicDraw() {
   JFrame frame = new JFrame();
   frame.add(new MyComponent());
   frame.setSize(300, 300);
   frame.setVisible(true);
 }

} class MyComponent extends JComponent {

 public void paint(Graphics g) {
   Graphics2D g2d = (Graphics2D) g;
   float strokeThickness = 5.0f;
   float miterLimit = 10f;
   float[] dashPattern = { 10f };
   float dashPhase = 5f;
   BasicStroke stroke = new BasicStroke(strokeThickness, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER,
       miterLimit, dashPattern, dashPhase);
   g2d.setStroke(stroke);
   g2d.draw(new Rectangle(20,20,200,200));
 }

}</source>





Changing the Thickness of the Stroking Pen

   <source lang="java">

import java.awt.BasicStroke; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Rectangle; import javax.swing.JComponent; import javax.swing.JFrame; public class BasicDraw {

 public static void main(String[] args) {
   new BasicDraw();
 }
 BasicDraw() {
   JFrame frame = new JFrame();
   frame.add(new MyComponent());
   frame.setSize(300, 300);
   frame.setVisible(true);
 }

} class MyComponent extends JComponent {

 public void paint(Graphics g) {
   Graphics2D g2d = (Graphics2D) g;
   float strokeThickness = 5.0f;
   BasicStroke stroke = new BasicStroke(strokeThickness);
   g2d.setStroke(stroke);
   g2d.draw(new Rectangle(20,20,200,200));
 }

}</source>





Stroking or Filling with a Texture

   <source lang="java">

import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Rectangle; import java.awt.TexturePaint; import java.awt.image.BufferedImage; import javax.swing.JComponent; import javax.swing.JFrame; public class BasicDraw {

 public static void main(String[] args) {
   new BasicDraw();
 }
 BasicDraw() {
   JFrame frame = new JFrame();
   frame.add(new MyComponent());
   frame.setSize(300, 300);
   frame.setVisible(true);
 }

} class MyComponent extends JComponent {

 public void paint(Graphics g) {
   Graphics2D g2d = (Graphics2D) g;
   int x = 10;
   int y = 10;
   int width = 50;
   int height = 25;
   BufferedImage bi = new BufferedImage(20,20,BufferedImage.TYPE_INT_RGB);
   
   TexturePaint texture = new TexturePaint(bi, new Rectangle(x, y, width, height));
   g2d.setPaint(texture);
 }

}</source>