Revision 1752

View differences:

branches/CqCMSDvp/libraries/libCq CMS for java.old/src/org/cresques/ui/raster/FilterRasterDialogPanel.java
1 1
/*
2
 * Creado el 3-marzo-2005
2
 * Creado el 30-marzo-2005
3 3
 */
4 4
package org.cresques.ui.raster;
5 5

  
6
import java.awt.event.ActionEvent;
7
import java.awt.event.ActionListener;
8
import java.awt.event.FocusEvent;
9
import java.awt.event.FocusListener;
10
import java.awt.event.KeyEvent;
11
import java.awt.event.KeyListener;
12
import java.awt.event.MouseEvent;
13
import java.awt.event.MouseListener;
14

  
6 15
import javax.swing.JPanel;
16
import javax.swing.event.ChangeEvent;
17
import javax.swing.event.ChangeListener;
7 18

  
8 19
import org.cresques.io.GeoRasterFile;
9 20
import org.cresques.ui.DefaultDialogPanel;
......
11 22

  
12 23
/**
13 24
 * @author Nacho Brodin <brodin_ign@gva.es>
25
 * 
26
 * Panel que contiene todos los paneles de los tabs del cuadro de dialogo 
27
 * de bandas y transparencias
14 28
 */
15
public class FilterRasterDialogPanel extends DefaultTabPanel {
29
public class FilterRasterDialogPanel extends DefaultTabPanel implements ActionListener, ChangeListener, FocusListener{
16 30
	
17 31
	//Tama?o de panel interior. El tab de dentro es proporcional
18
	protected int	sizePanelX = 350;
19
	protected int 	sizePanelY = 200;
32
	protected int								sizePanelX = 350;
33
	protected int 								sizePanelY = 210;
34
	private RasterTransparencyPanel 	pTrans = null;
35
	private  BandSetupPanel 				pSetup = null;
20 36
	
21
	
22 37
	public FilterRasterDialogPanel() {
23 38
		
24 39
		super();
......
36 51
	protected void initPanels() {
37 52
		
38 53
        this.setBounds(0,0,355,230);
39
        RasterTransparencyPanel pTrans = new RasterTransparencyPanel(this);
40
        BandSetupPanel pSetup = new BandSetupPanel(); 
54
        pTrans = new RasterTransparencyPanel(this);
55
        pSetup = new BandSetupPanel(); 
41 56
        this.addTab(pSetup.nom, pSetup);
42 57
        this.addTab(pTrans.nom, pTrans);
58
        
59
        pTrans.getCbOpacidad().addActionListener(this);
60
        pTrans.getCbTransparencia().addActionListener(this);
61
        pTrans.getTRojo().addActionListener(this);
62
        pTrans.getTVerde().addActionListener(this);
63
        pTrans.getTAzul().addActionListener(this);
64
        pTrans.getSlOpacidad().addChangeListener(this);
65
        pTrans.getTOpacidad().addActionListener(this);
66
        pTrans.getTOpacidad().addFocusListener(this);
43 67
               
44 68
        //Ocultamos el bot?n de aplicar
45 69
        
......
47 71
        
48 72
	}
49 73
	
74
	public void actionPerformed(ActionEvent e){
75
		
76
		//Evento sobre el checkbox de opacidad
77
		if(	e.getSource().equals(pTrans.getCbOpacidad())){
78
			
79
			//Check de opacidad activado -> Activar controles de opacidad
80
			if(pTrans.getCbOpacidad().isSelected()){
81
				pTrans.getSlOpacidad().setEnabled(true);
82
				pTrans.getTOpacidad().setEnabled(true);
83
			}else{
84
				pTrans.getSlOpacidad().setEnabled(false);
85
				pTrans.getTOpacidad().setEnabled(false);
86
			}
87
			
88
		}
89
		
90
		//Evento sobre el checkbox de transparencia
91
		if(	e.getSource().equals(pTrans.getCbTransparencia())){
92
			
93
			//Check de opacidad activado -> Activar controles de opacidad
94
			if(pTrans.getCbTransparencia().isSelected()){
95
				pTrans.getTRojo().setEnabled(true);
96
				pTrans.getTVerde().setEnabled(true);
97
				pTrans.getTAzul().setEnabled(true);
98
			}else{
99
				pTrans.getTRojo().setEnabled(false);
100
				pTrans.getTVerde().setEnabled(false);
101
				pTrans.getTAzul().setEnabled(false);
102
			}
103
			
104
		}
105
		
106
		//Evento sobre el textfield de opacidad
107
		if(	e.getSource().equals(pTrans.getTOpacidad())){
108
			checkOpacity();
109
		}
110
		
111
		//
112
		if(	e.getSource().equals(pTrans.getTRojo())){
113
			getTransparencyValues(pTrans.getTRojo().getText());
114
		}
115
		
116
		if(	e.getSource().equals(pTrans.getTVerde())){
117
			getTransparencyValues(pTrans.getTVerde().getText());
118
		}
119
		
120
		if(	e.getSource().equals(pTrans.getTAzul())){
121
			getTransparencyValues(pTrans.getTAzul().getText());
122
		}
123
	}
124
	
125
	/**
126
	 * Obtiene el rango de valores a partir de la cadena de
127
	 * texto introducida por el usuario.
128
	 * @param values
129
	 */
130
	private void getTransparencyValues(String values){
131
		
132
	}
133
	/** 
134
	 * Controla que si el formato introducido en el textfield
135
	 * de opacidad es numerico se actualiza la posici?n del 
136
	 * slider. 
137
	 */
138
	private void checkOpacity(){
139
		String op = pTrans.getTOpacidad().getText();
140
		int value = 0;
141
		try{
142
			if(!op.equals(""))
143
				value = Integer.parseInt(op);	
144
			pTrans.getSlOpacidad().setValue(value);
145
		}catch(NumberFormatException exc){
146
			System.err.println("Formato no numerico");
147
			pTrans.getTOpacidad().setText("100");
148
			pTrans.getSlOpacidad().setValue(100);
149
		}
150
	}
151
	
152
	/*
153
	 * 
154
	 */
155
	public void stateChanged(ChangeEvent e){
156
		
157
		//Ponemos el valor del texto de la opacidad de pendiendo de la posici?n del Slider
158
		pTrans.getTOpacidad().setText(String.valueOf(pTrans.getSlOpacidad().getValue()));
159
	}
160
	
161
	public void focusGained(FocusEvent e){}
162
	public void focusLost(FocusEvent e){
163
		checkOpacity();
164
	}
165
	
166
	/*public void mouseExited(MouseEvent e){}
167
	public void mouseReleased(MouseEvent e){}	
168
	public void mouseEntered(MouseEvent e){}
169
	
170
	public void mouseClicked(MouseEvent e){}
171
	
172
	public void mousePressed(MouseEvent e){}
173
	
174
	public void keyTyped(KeyEvent e){
175
	}
176
	public void keyPressed(KeyEvent e){	
177
	}
178
	public void keyReleased(KeyEvent e){}
179
	*/
50 180
}
51 181

  
52 182

  
53 183

  
54 184

  
55 185

  
186

  
branches/CqCMSDvp/libraries/libCq CMS for java.old/src/org/cresques/ui/raster/RasterTransparencyPanel.java
9 9
import javax.swing.JSlider;
10 10
import javax.swing.JLabel;
11 11
import javax.swing.JTextField;
12
import java.awt.GridBagLayout;
13
import java.awt.GridBagConstraints;
14
import java.awt.CardLayout;
15
import java.awt.GridLayout;
16
import javax.swing.BoxLayout;
17

  
18
/**
19
 * 
20
 * @author Nacho Brodin <brodin_ign@gva.es>
21
 *
22
 */
12 23
public class RasterTransparencyPanel extends JPanel{
13 24
	
14 25
	String nom = "Transparencia";
......
17 28
	private JPanel jPanel = null;
18 29
	private JPanel jPanel1 = null;
19 30
	private JPanel jPanel2 = null;
20
	private JCheckBox jCheckBox = null;
21
	private JCheckBox jCheckBox1 = null;
22
	private JSlider jSlider = null;
23
	private JTextField jTextField = null;
24 31
	private JPanel jPanel3 = null;
25
	private JPanel jPanel4 = null;
26
	private JPanel jPanel5 = null;
32
	private JCheckBox cbTransparencia = null;
27 33
	private JLabel jLabel = null;
34
	private JTextField tRojo = null;
28 35
	private JLabel jLabel1 = null;
36
	private JTextField tVerde = null;
29 37
	private JLabel jLabel2 = null;
30
	private JTextField jTextField1 = null;
31
	private JTextField jTextField2 = null;
32
	private JTextField jTextField3 = null;
38
	private JTextField tAzul = null;
39
	private JPanel jPanel4 = null;
40
	private JCheckBox cbOpacidad = null;
41
	private JSlider slOpacidad = null;
42
	private JTextField tOpacidad = null;
43
	private JPanel jPanel5 = null;
33 44
	private JLabel jLabel3 = null;
34 45
	public RasterTransparencyPanel(FilterRasterDialogPanel parent){
35 46
		
......
45 56
	private void initialize() {
46 57
        
47 58
        this.setLayout(new BorderLayout());
48
        this.setSize(350, 146);
49
        this.add(getJPanel(), java.awt.BorderLayout.NORTH);
50
        this.add(getJPanel1(), java.awt.BorderLayout.WEST);
51
        this.add(getJPanel2(), java.awt.BorderLayout.SOUTH);
52
       			
59
        this.setSize(350, 210);
60
        this.add(getJPanel(), java.awt.BorderLayout.CENTER);
61
       	initControls();
62
       	
53 63
	}
54 64
	
55 65
	/**
66
	 * 
67
	 *
68
	 */
69
	public void initControls(){
70
		
71
		 this.getCbTransparencia().setSelected(true);
72
		 this.getTRojo().setEnabled(true);
73
		 this.getTVerde().setEnabled(true);
74
		 this.getTAzul().setEnabled(true);
75
		 this.getCbOpacidad().setSelected(false);
76
	     this.getSlOpacidad().setEnabled(false);
77
	     this.getSlOpacidad().setValue(100);
78
	     this.getTOpacidad().setEnabled(false);
79
	     this.getTOpacidad().setText("100");
80
	     
81
	}
82
	
83
	/**
56 84
	 * This method initializes jPanel	
57 85
	 * 	
58 86
	 * @return javax.swing.JPanel	
59 87
	 */    
60 88
	private JPanel getJPanel() {
61 89
		if (jPanel == null) {
62
			FlowLayout flowLayout8 = new FlowLayout();
90
			GridBagConstraints gridBagConstraints9 = new GridBagConstraints();
91
			GridBagConstraints gridBagConstraints8 = new GridBagConstraints();
92
			GridBagConstraints gridBagConstraints7 = new GridBagConstraints();
93
			GridBagConstraints gridBagConstraints6 = new GridBagConstraints();
94
			GridBagConstraints gridBagConstraints5 = new GridBagConstraints();
63 95
			jPanel = new JPanel();
64
			jPanel.setLayout(flowLayout8);
65
			flowLayout8.setAlignment(java.awt.FlowLayout.LEFT);
66
			jPanel.add(getJCheckBox(), null);
96
			jPanel.setLayout(new GridBagLayout());
97
			gridBagConstraints5.fill = java.awt.GridBagConstraints.NONE;
98
			gridBagConstraints5.ipady = 0;
99
			gridBagConstraints5.gridheight = 1;
100
			gridBagConstraints5.gridwidth = 0;
101
			gridBagConstraints5.anchor = java.awt.GridBagConstraints.WEST;
102
			gridBagConstraints5.insets = new java.awt.Insets(0,0,0,0);
103
			gridBagConstraints6.gridwidth = 0;
104
			gridBagConstraints6.anchor = java.awt.GridBagConstraints.WEST;
105
			gridBagConstraints7.gridwidth = 1;
106
			gridBagConstraints7.insets = new java.awt.Insets(20,0,0,0);
107
			gridBagConstraints8.gridwidth = 0;
108
			gridBagConstraints8.anchor = java.awt.GridBagConstraints.WEST;
109
			jPanel.setPreferredSize(new java.awt.Dimension(333,113));
110
			gridBagConstraints9.gridx = 0;
111
			gridBagConstraints9.gridy = 1;
112
			gridBagConstraints9.insets = new java.awt.Insets(0,180,0,0);
113
			jPanel.add(getJPanel1(), gridBagConstraints5);
114
			jPanel.add(getJPanel2(), gridBagConstraints6);
115
			jPanel.add(getJPanel3(), gridBagConstraints8);
116
			jPanel.add(getJPanel4(), gridBagConstraints7);
117
			jPanel.add(getJPanel5(), gridBagConstraints9);
67 118
		}
68 119
		return jPanel;
69 120
	}
......
74 125
	 */    
75 126
	private JPanel getJPanel1() {
76 127
		if (jPanel1 == null) {
128
			jLabel = new JLabel();
77 129
			jPanel1 = new JPanel();
78 130
			jPanel1.setLayout(new BorderLayout());
79
			jPanel1.add(getJPanel3(), java.awt.BorderLayout.NORTH);
80
			jPanel1.add(getJPanel4(), java.awt.BorderLayout.CENTER);
81
			jPanel1.add(getJPanel5(), java.awt.BorderLayout.SOUTH);
131
			jLabel.setText("Valor Rojo: ");
132
			jPanel1.setPreferredSize(new java.awt.Dimension(170,42));
133
			jPanel1.add(getCbTransparencia(), java.awt.BorderLayout.NORTH);
134
			jPanel1.add(jLabel, java.awt.BorderLayout.WEST);
135
			jPanel1.add(getTRojo(), java.awt.BorderLayout.EAST);
82 136
		}
83 137
		return jPanel1;
84 138
	}
......
89 143
	 */    
90 144
	private JPanel getJPanel2() {
91 145
		if (jPanel2 == null) {
92
			FlowLayout flowLayout9 = new FlowLayout();
146
			jLabel1 = new JLabel();
93 147
			jPanel2 = new JPanel();
94
			jPanel2.setLayout(flowLayout9);
95
			flowLayout9.setAlignment(java.awt.FlowLayout.LEFT);
96
			jPanel2.add(getJCheckBox1(), null);
97
			jPanel2.add(getJSlider(), null);
98
			jPanel2.add(getJTextField(), null);
148
			jPanel2.setLayout(new BorderLayout());
149
			jLabel1.setText("Valor Verde: ");
150
			jPanel2.setPreferredSize(new java.awt.Dimension(170,19));
151
			jPanel2.add(jLabel1, java.awt.BorderLayout.WEST);
152
			jPanel2.add(getTVerde(), java.awt.BorderLayout.EAST);
99 153
		}
100 154
		return jPanel2;
101 155
	}
102 156
	/**
103
	 * This method initializes jCheckBox	
157
	 * This method initializes jPanel3	
104 158
	 * 	
105
	 * @return javax.swing.JCheckBox	
159
	 * @return javax.swing.JPanel	
106 160
	 */    
107
	private JCheckBox getJCheckBox() {
108
		if (jCheckBox == null) {
109
			jCheckBox = new JCheckBox();
110
			jCheckBox.setText("Transparencia");
161
	private JPanel getJPanel3() {
162
		if (jPanel3 == null) {
163
			jLabel2 = new JLabel();
164
			jPanel3 = new JPanel();
165
			jPanel3.setLayout(new BorderLayout());
166
			jLabel2.setText("Valor Azul: ");
167
			jPanel3.setPreferredSize(new java.awt.Dimension(170,19));
168
			jPanel3.add(jLabel2, java.awt.BorderLayout.WEST);
169
			jPanel3.add(getTAzul(), java.awt.BorderLayout.EAST);
111 170
		}
112
		return jCheckBox;
171
		return jPanel3;
113 172
	}
114 173
	/**
115
	 * This method initializes jCheckBox1	
174
	 * This method initializes jCheckBox	
116 175
	 * 	
117 176
	 * @return javax.swing.JCheckBox	
118 177
	 */    
119
	private JCheckBox getJCheckBox1() {
120
		if (jCheckBox1 == null) {
121
			jCheckBox1 = new JCheckBox();
122
			jCheckBox1.setText("Opacidad");
178
	public JCheckBox getCbTransparencia() {
179
		if (cbTransparencia == null) {
180
			cbTransparencia = new JCheckBox();
181
			cbTransparencia.setText("Transparencia");
123 182
		}
124
		return jCheckBox1;
183
		return cbTransparencia;
125 184
	}
126 185
	/**
127
	 * This method initializes jSlider	
186
	 * This method initializes jTextField	
128 187
	 * 	
129
	 * @return javax.swing.JSlider	
188
	 * @return javax.swing.JTextField	
130 189
	 */    
131
	private JSlider getJSlider() {
132
		if (jSlider == null) {
133
			jSlider = new JSlider();
190
	public JTextField getTRojo() {
191
		if (tRojo == null) {
192
			tRojo = new JTextField();
193
			tRojo.setPreferredSize(new java.awt.Dimension(80,19));
134 194
		}
135
		return jSlider;
195
		return tRojo;
136 196
	}
137 197
	/**
138
	 * This method initializes jTextField	
198
	 * This method initializes jTextField1	
139 199
	 * 	
140 200
	 * @return javax.swing.JTextField	
141 201
	 */    
142
	private JTextField getJTextField() {
143
		if (jTextField == null) {
144
			jTextField = new JTextField();
145
			jTextField.setPreferredSize(new java.awt.Dimension(40,19));
202
	public JTextField getTVerde() {
203
		if (tVerde == null) {
204
			tVerde = new JTextField();
205
			tVerde.setPreferredSize(new java.awt.Dimension(80,19));
146 206
		}
147
		return jTextField;
207
		return tVerde;
148 208
	}
149 209
	/**
150
	 * This method initializes jPanel3	
210
	 * This method initializes jTextField2	
151 211
	 * 	
152
	 * @return javax.swing.JPanel	
212
	 * @return javax.swing.JTextField	
153 213
	 */    
154
	private JPanel getJPanel3() {
155
		if (jPanel3 == null) {
156
			jLabel = new JLabel();
157
			FlowLayout flowLayout11 = new FlowLayout();
158
			jPanel3 = new JPanel();
159
			jPanel3.setLayout(flowLayout11);
160
			jLabel.setText("Valor Rojo:  ");
161
			flowLayout11.setAlignment(java.awt.FlowLayout.LEFT);
162
			jPanel3.add(jLabel, null);
163
			jPanel3.add(getJTextField1(), null);
214
	public JTextField getTAzul() {
215
		if (tAzul == null) {
216
			tAzul = new JTextField();
217
			tAzul.setPreferredSize(new java.awt.Dimension(80,19));
164 218
		}
165
		return jPanel3;
219
		return tAzul;
166 220
	}
167 221
	/**
168 222
	 * This method initializes jPanel4	
......
171 225
	 */    
172 226
	private JPanel getJPanel4() {
173 227
		if (jPanel4 == null) {
174
			jLabel3 = new JLabel();
175
			jLabel1 = new JLabel();
176 228
			jPanel4 = new JPanel();
177
			jLabel1.setText("Valor Verde: ");
178
			jLabel3.setText("Usar Rangos: 1,3,5:8 ");
179
			jPanel4.add(jLabel1, null);
180
			jPanel4.add(getJTextField2(), null);
181
			jPanel4.add(jLabel3, null);
229
			jPanel4.setBorder(javax.swing.BorderFactory.createLineBorder(java.awt.Color.gray,1));
230
			jPanel4.add(getCbOpacidad(), null);
231
			jPanel4.add(getSlOpacidad(), null);
232
			jPanel4.add(getTOpacidad(), null);
182 233
		}
183 234
		return jPanel4;
184 235
	}
185 236
	/**
186
	 * This method initializes jPanel5	
237
	 * This method initializes jCheckBox1	
187 238
	 * 	
188
	 * @return javax.swing.JPanel	
239
	 * @return javax.swing.JCheckBox	
189 240
	 */    
190
	private JPanel getJPanel5() {
191
		if (jPanel5 == null) {
192
			jLabel2 = new JLabel();
193
			FlowLayout flowLayout10 = new FlowLayout();
194
			jPanel5 = new JPanel();
195
			jPanel5.setLayout(flowLayout10);
196
			jLabel2.setText("Valor Azul:  ");
197
			flowLayout10.setAlignment(java.awt.FlowLayout.LEFT);
198
			jPanel5.add(jLabel2, null);
199
			jPanel5.add(getJTextField3(), null);
241
	public JCheckBox getCbOpacidad() {
242
		if (cbOpacidad == null) {
243
			cbOpacidad = new JCheckBox();
244
			cbOpacidad.setText("Opacidad");
200 245
		}
201
		return jPanel5;
246
		return cbOpacidad;
202 247
	}
203 248
	/**
204
	 * This method initializes jTextField1	
249
	 * This method initializes jSlider	
205 250
	 * 	
206
	 * @return javax.swing.JTextField	
251
	 * @return javax.swing.JSlider	
207 252
	 */    
208
	private JTextField getJTextField1() {
209
		if (jTextField1 == null) {
210
			jTextField1 = new JTextField();
211
			jTextField1.setPreferredSize(new java.awt.Dimension(60,19));
253
	public JSlider getSlOpacidad() {
254
		if (slOpacidad == null) {
255
			slOpacidad = new JSlider();
212 256
		}
213
		return jTextField1;
257
		return slOpacidad;
214 258
	}
215 259
	/**
216
	 * This method initializes jTextField2	
260
	 * This method initializes jTextField3	
217 261
	 * 	
218 262
	 * @return javax.swing.JTextField	
219 263
	 */    
220
	private JTextField getJTextField2() {
221
		if (jTextField2 == null) {
222
			jTextField2 = new JTextField();
223
			jTextField2.setPreferredSize(new java.awt.Dimension(60,19));
264
	public JTextField getTOpacidad() {
265
		if (tOpacidad == null) {
266
			tOpacidad = new JTextField();
267
			tOpacidad.setPreferredSize(new java.awt.Dimension(30,19));
224 268
		}
225
		return jTextField2;
269
		return tOpacidad;
226 270
	}
227 271
	/**
228
	 * This method initializes jTextField3	
272
	 * This method initializes jPanel5	
229 273
	 * 	
230
	 * @return javax.swing.JTextField	
274
	 * @return javax.swing.JPanel	
231 275
	 */    
232
	private JTextField getJTextField3() {
233
		if (jTextField3 == null) {
234
			jTextField3 = new JTextField();
235
			jTextField3.setPreferredSize(new java.awt.Dimension(60,19));
276
	private JPanel getJPanel5() {
277
		if (jPanel5 == null) {
278
			jLabel3 = new JLabel();
279
			jPanel5 = new JPanel();
280
			jLabel3.setText("Usa un rango: 1,3,5:8");
281
			jPanel5.add(jLabel3, null);
236 282
		}
237
		return jTextField3;
283
		return jPanel5;
238 284
	}
239
  }  //  @jve:decl-index=0:visual-constraint="36,15"
285
            }  //  @jve:decl-index=0:visual-constraint="36,15"

Also available in: Unified diff