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
|
|
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
|
{
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|