Project

General

Profile

GraphicsOpsExamples2.java

Sergey Ivanovskiy, 08/18/2015 09:10 PM

Download (5.07 KB)

 
1
package test;
2

    
3

    
4
import javax.swing.*;
5

    
6
import com.goldencode.p2j.ui.ColorRgb;
7
import com.goldencode.p2j.ui.client.SysColor;
8
import com.goldencode.p2j.ui.client.gui.driver.LineStroke;
9

    
10
import java.awt.*;
11
import java.util.ArrayList;
12

    
13
public class GraphicsOpsExamples2
14
{
15
   static class StrokeManager
16
   {
17
      // initialize dot pattern 
18
      private final Stroke dotStroke = new BasicStroke(LineStroke.DOT_LINE_WIDTH,
19
               BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 0.0f, new float[] {
20
                        LineStroke.DOT_STEP, LineStroke.DOT_STEP }, LineStroke.DOT_STEP);
21

    
22
      private final Stroke dotSmallStroke = new BasicStroke(LineStroke.DOT_LINE_WIDTH,
23
               BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 0.0f, new float[] {
24
                        LineStroke.DOT_STEP_SMALL, LineStroke.DOT_STEP_SMALL },
25
               LineStroke.DOT_STEP_SMALL);
26

    
27
      private final Stroke dotSmallThinStroke = new BasicStroke(LineStroke.DOT_LINE_THIN_WIDTH,
28
               BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 0.0f, new float[] {
29
                        LineStroke.DOT_STEP_SMALL, LineStroke.DOT_STEP_SMALL },
30
               LineStroke.DOT_STEP_SMALL);
31

    
32
      public final void setLineStroke(Graphics2D g2, LineStroke stroke, int strokeWidth)
33
      { // default line stroke
34
         Stroke javaStroke;
35

    
36
         switch (stroke)
37
         {
38
            case SPECIFIED_WIDTH:
39
               javaStroke = new BasicStroke(strokeWidth);
40
               break;
41
            case DOTTED:
42
               javaStroke = dotStroke;
43
               break;
44
            case DOTTED_SMALL:
45
               javaStroke = dotSmallStroke;
46
               break;
47
            case DOTTED_SMALL_THIN:
48
               javaStroke = dotSmallThinStroke;
49
               break;
50
            default:
51
               javaStroke = new BasicStroke();
52
         }
53

    
54
         g2.setStroke(javaStroke);
55
      }
56
   }
57

    
58
   public static void main(String[] args)
59
   {
60
      SwingUtilities.invokeLater(new Runnable()
61
      {
62
         public void run()
63
         {
64
            JFrame frame = new JFrame("Graphics Operations");
65
            frame.setSize(800, 600);
66
            frame.setLocation(150, 150);
67
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
68
            final StrokeManager strokeManager = new StrokeManager();
69
            frame.setContentPane(new JComponent()
70
            {
71
               public void paint(Graphics g)
72
               {
73
                  Graphics2D g2 = (Graphics2D) g;
74
                  strokeManager.setLineStroke(g2, LineStroke.SPECIFIED_WIDTH, 1);
75
                  g2.drawLine(10, 10, 790, 30);
76
                  g2.drawRect(40, 40, 55, 30);
77
                  //g2.fillRect(125, 40, 55, 30);
78
                  g2.drawLine(210, 40, 210, 70);
79
                  g2.drawLine(241, 40, 241, 70);
80
                  g2.drawLine(250, 40, 305, 40);
81
                  g2.drawLine(250, 70, 305, 70);
82
                  strokeManager.setLineStroke(g2, LineStroke.SPECIFIED_WIDTH, 2);
83
                  g2.drawLine(10, 80, 790, 100);
84
                  g2.drawRect(40, 110, 55, 30);
85
                  //g2.fillRect(125, 110, 55, 30);
86
                  g2.drawLine(210, 110, 210, 140);
87
                  g2.drawLine(241, 110, 241, 140);
88
                  g2.drawLine(250, 110, 305, 110);
89
                  g2.drawLine(250, 140, 305, 140);
90
                  strokeManager.setLineStroke(g2, LineStroke.SPECIFIED_WIDTH, 3);
91
                  g2.drawLine(10, 150, 790, 170);
92
                  g2.drawRect(40, 180, 55, 30);
93
                  //g2.fillRect(125, 180, 55, 30);
94
                  g2.drawLine(210, 180, 210, 210);
95
                  g2.drawLine(241, 180, 241, 210);
96
                  g2.drawLine(250, 180, 305, 180);
97
                  g2.drawLine(250, 210, 305, 210);
98
                  strokeManager.setLineStroke(g2, LineStroke.DOTTED, 3);
99
                  g2.drawLine(10, 220, 790, 240);
100
                  g2.drawRect(40, 250, 55, 30);
101
                  //g2.fillRect(125, 250, 55, 30);
102
                  g2.drawLine(210, 250, 210, 280);
103
                  g2.drawLine(241, 250, 241, 280);
104
                  g2.drawLine(250, 250, 305, 250);
105
                  g2.drawLine(250, 280, 305, 280);
106
                  strokeManager.setLineStroke(g2, LineStroke.DOTTED_SMALL, 3);
107
                  g2.drawLine(10, 290, 790, 310);
108
                  g2.drawRect(40, 320, 55, 30);
109
                  //g2.fillRect(125, 320, 55, 30);
110
                  g2.drawLine(210, 320, 210, 350);
111
                  g2.drawLine(241, 320, 241, 350);
112
                  g2.drawLine(250, 320, 305, 320);
113
                  g2.drawLine(250, 350, 305, 350);
114
                  strokeManager.setLineStroke(g2, LineStroke.DOTTED_SMALL_THIN, 3);
115
                  g2.drawLine(10, 360, 790, 380);
116
                  g2.drawRect(40, 390, 55, 30);
117
                  //g2.fillRect(125, 390, 55, 30);
118
                  g2.drawLine(210, 390, 210, 420);
119
                  g2.drawLine(241, 390, 241, 420);
120
                  g2.drawLine(250, 390, 305, 390);
121
                  g2.drawLine(250, 420, 305, 420);
122
               }
123
            });
124
            
125
            frame.setVisible(true);
126
         }
127
      });
128
   }
129
}
130