-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathOptionsWindow.java
More file actions
117 lines (85 loc) · 2.79 KB
/
Copy pathOptionsWindow.java
File metadata and controls
117 lines (85 loc) · 2.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
package Pruebas2;
import java.awt.Color;
import java.awt.Point;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class OptionsWindow {
// Campos
// Ventana
private JFrame theWindow;
// Panel
private JPanel thePanel;
// Deslizadores
private JSlider redSlider, greenSlider, blueSlider;
// Escuchador
private OptionsListener theOptionsListener;
public static final int WIDTH = 220;
public OptionsWindow() {
initializeFields();
setAttributes();
addStuffToPanel();
createWindow();
}
public void initializeFields() {
theWindow = new JFrame( "Options" );
thePanel = new JPanel();
redSlider = new JSlider(0, 255);
greenSlider = new JSlider(0, 255);
blueSlider = new JSlider(0, 255);
theOptionsListener = new OptionsListener();
}
public void setAttributes() {
redSlider.setBorder(BorderFactory.createTitledBorder( "Rojo" ));
redSlider.setMajorTickSpacing( 127 );
redSlider.setValue( 127 );
redSlider.setPaintLabels( true );
redSlider.addChangeListener( theOptionsListener );
greenSlider.setBorder(BorderFactory.createTitledBorder( "Verde" ));
greenSlider.setMajorTickSpacing( 127 );
greenSlider.setValue( 127 );
greenSlider.setPaintLabels( true );
greenSlider.addChangeListener( theOptionsListener );
blueSlider.setBorder(BorderFactory.createTitledBorder( "Azul" ));
blueSlider.setMajorTickSpacing( 127 );
blueSlider.setValue( 127 );
blueSlider.setPaintLabels( true );
blueSlider.addChangeListener( theOptionsListener );
}
public void addStuffToPanel() {
thePanel.add( redSlider );
thePanel.add( greenSlider );
thePanel.add( blueSlider );
}
public void createWindow() {
theWindow.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
theWindow.setResizable( false );
theWindow.setSize( WIDTH, PaintWindow.HEIGHT );
Point locationPoint = PaintWindow.getWindowLocation();
locationPoint.setLocation( locationPoint.getX() - WIDTH, locationPoint.getY() );
theWindow.setLocation( locationPoint );
theWindow.add( thePanel );
theWindow.setVisible( true );
}
public int getRedValue() {
return redSlider.getValue();
}
public int getGreenValue() {
return greenSlider.getValue();
}
public int getBlueValue() {
return blueSlider.getValue();
}
private class OptionsListener implements ChangeListener {
public void stateChanged(ChangeEvent e) {
int red = redSlider.getValue();
int green = greenSlider.getValue();
int blue = blueSlider.getValue();
Color c = new Color( red, green, blue);
thePanel.setBackground(c);
}
}
}