Revision 8783 branches/v10+Piloto/libraries/libCq_CMS_praster/src/org/cresques/ui/BrightnessContrast/EnhancedBrightnessContrastPanel.java
EnhancedBrightnessContrastPanel.java | ||
---|---|---|
19 | 19 |
|
20 | 20 |
package org.cresques.ui.BrightnessContrast; |
21 | 21 |
|
22 |
import java.awt.FlowLayout; |
|
22 | 23 |
import java.awt.GridBagConstraints; |
23 | 24 |
import java.awt.GridBagLayout; |
24 | 25 |
import java.awt.event.ActionEvent; |
25 | 26 |
import java.awt.event.ActionListener; |
26 |
import java.awt.event.KeyEvent; |
|
27 |
import java.awt.event.KeyListener; |
|
28 |
import java.awt.event.MouseEvent; |
|
29 |
import java.awt.event.MouseListener; |
|
30 | 27 |
|
31 | 28 |
import javax.swing.JCheckBox; |
32 | 29 |
import javax.swing.JLabel; |
... | ... | |
37 | 34 |
import org.cresques.filter.enhancement.BrightnessContrastStackManager; |
38 | 35 |
import org.cresques.io.GeoRasterFile; |
39 | 36 |
import org.cresques.ui.filter.FilterRasterDialogPanel; |
37 |
import org.cresques.ui.raster.IResize; |
|
40 | 38 |
|
41 | 39 |
|
42 | 40 |
/** |
... | ... | |
44 | 42 |
* @author Miguel Angel Querol Carratal? <querol_mig@gva.es> |
45 | 43 |
* |
46 | 44 |
*/ |
47 |
public class EnhancedBrightnessContrastPanel extends JPanel implements ActionListener{ |
|
45 |
public class EnhancedBrightnessContrastPanel extends JPanel implements ActionListener, IResize{
|
|
48 | 46 |
|
47 |
private int wComp = 445, hComp = 239; |
|
48 |
private int wPanels = (int)Math.round(wComp / 2) - 13, hPanels = hComp - 16; |
|
49 |
private int wBright = wPanels - 22, hBright = hPanels - 73; |
|
50 |
private int wEnhan = wBright, hEnhan = hPanels - 123; |
|
51 |
private int wBCheck = wPanels - 28; |
|
52 |
private int wSlider = wBright - 8, hSlider = 45; |
|
53 |
|
|
49 | 54 |
private String nom = "Realce"; |
50 | 55 |
private JPanel pBrightCont = null; |
51 | 56 |
private JPanel pEnhanced = null; |
... | ... | |
71 | 76 |
public CheckSliderText cstEnhanced = null; |
72 | 77 |
private FilterRasterDialogPanel parent = null; |
73 | 78 |
|
79 |
public static final int h = 239; |
|
80 |
public static final int w = 445; |
|
81 |
|
|
74 | 82 |
/** |
75 | 83 |
* This is the default constructor |
76 | 84 |
*/ |
... | ... | |
103 | 111 |
gridBagConstraints2.gridy = 0; |
104 | 112 |
gridBagConstraints2.gridx = 0; |
105 | 113 |
this.setLayout(new GridBagLayout()); |
106 |
this.setSize(445, 239);
|
|
107 |
this.setPreferredSize(new java.awt.Dimension(445,239));
|
|
114 |
this.setSize(wComp, hComp);
|
|
115 |
this.setPreferredSize(new java.awt.Dimension(wComp,hComp));
|
|
108 | 116 |
this.add(getPBrightCont(), gridBagConstraints2); |
109 | 117 |
this.add(getPEnhanced(), gridBagConstraints3); |
110 | 118 |
|
111 | 119 |
this.getCBrightC().addActionListener(this); |
112 | 120 |
this.getCEnhanced().addActionListener(this); |
121 |
//this.addComponentListener(this); |
|
113 | 122 |
//this.getLabelSliderText().getJTextField().addActionListener(this); |
114 | 123 |
//this.getLabelSliderText1().getJTextField().addActionListener(this); |
115 | 124 |
} |
... | ... | |
131 | 140 |
gridBagConstraints.gridy = 0; |
132 | 141 |
pBrightCont = new JPanel(); |
133 | 142 |
pBrightCont.setLayout(new GridBagLayout()); |
134 |
pBrightCont.setPreferredSize(new java.awt.Dimension(210,223));
|
|
143 |
pBrightCont.setPreferredSize(new java.awt.Dimension(wPanels,hPanels));
|
|
135 | 144 |
pBrightCont.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Brillo y contraste", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null)); |
136 | 145 |
pBrightCont.add(getPBCCheck(), gridBagConstraints); |
137 | 146 |
pBrightCont.add(getPBCSlider(), gridBagConstraints4); |
... | ... | |
159 | 168 |
gridBagConstraints1.gridy = 0; |
160 | 169 |
pEnhanced = new JPanel(); |
161 | 170 |
pEnhanced.setLayout(new GridBagLayout()); |
162 |
pEnhanced.setPreferredSize(new java.awt.Dimension(210,223));
|
|
171 |
pEnhanced.setPreferredSize(new java.awt.Dimension(wPanels,hPanels));
|
|
163 | 172 |
pEnhanced.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Realce", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null)); |
164 | 173 |
pEnhanced.add(getPEnCheck(), gridBagConstraints11); |
165 | 174 |
pEnhanced.add(getPEnSlider(), gridBagConstraints12); |
... | ... | |
201 | 210 |
*/ |
202 | 211 |
private JPanel getPBCCheck() { |
203 | 212 |
if (pBCCheck == null) { |
204 |
GridBagConstraints gridBagConstraints9 = new GridBagConstraints(); |
|
205 |
gridBagConstraints9.gridx = 1; |
|
206 |
gridBagConstraints9.gridy = 0; |
|
213 |
FlowLayout flowLayout = new FlowLayout(); |
|
214 |
flowLayout.setAlignment(java.awt.FlowLayout.LEFT); |
|
215 |
flowLayout.setVgap(0); |
|
216 |
flowLayout.setHgap(0); |
|
207 | 217 |
lBrightC = new JLabel(); |
208 | 218 |
lBrightC.setText("Activar"); |
209 | 219 |
lBrightC.setPreferredSize(new java.awt.Dimension(160,15)); |
210 |
GridBagConstraints gridBagConstraints8 = new GridBagConstraints(); |
|
211 |
gridBagConstraints8.gridx = 0; |
|
212 |
gridBagConstraints8.gridy = 0; |
|
213 | 220 |
pBCCheck = new JPanel(); |
214 |
pBCCheck.setLayout(new GridBagLayout());
|
|
215 |
pBCCheck.setPreferredSize(new java.awt.Dimension(182,25));
|
|
216 |
pBCCheck.add(getCBrightC(), gridBagConstraints8);
|
|
217 |
pBCCheck.add(lBrightC, gridBagConstraints9);
|
|
221 |
pBCCheck.setLayout(flowLayout);
|
|
222 |
pBCCheck.setPreferredSize(new java.awt.Dimension(wBCheck,25));
|
|
223 |
pBCCheck.add(getCBrightC(), null);
|
|
224 |
pBCCheck.add(lBrightC, null);
|
|
218 | 225 |
} |
219 | 226 |
return pBCCheck; |
220 | 227 |
} |
... | ... | |
240 | 247 |
gridBagConstraints5.gridy = 1; |
241 | 248 |
pBCSlider = new JPanel(); |
242 | 249 |
pBCSlider.setLayout(new GridBagLayout()); |
243 |
pBCSlider.setPreferredSize(new java.awt.Dimension(188,150));
|
|
250 |
pBCSlider.setPreferredSize(new java.awt.Dimension(wBright,hBright));
|
|
244 | 251 |
pBCSlider.setBorder(javax.swing.BorderFactory.createLineBorder(java.awt.Color.gray,1)); |
245 | 252 |
pBCSlider.add(getLabelSliderText(), gridBagConstraints7); |
246 | 253 |
pBCSlider.add(getLabelSliderText1(), gridBagConstraints5); |
... | ... | |
257 | 264 |
*/ |
258 | 265 |
private JPanel getJPanel1() { |
259 | 266 |
if (jPanel1 == null) { |
260 |
GridBagConstraints gridBagConstraints19 = new GridBagConstraints(); |
|
261 |
gridBagConstraints19.gridx = 1; |
|
262 |
gridBagConstraints19.gridy = 0; |
|
267 |
FlowLayout flowLayout1 = new FlowLayout(); |
|
268 |
flowLayout1.setAlignment(java.awt.FlowLayout.LEFT); |
|
269 |
flowLayout1.setVgap(0); |
|
270 |
flowLayout1.setHgap(0); |
|
263 | 271 |
lpreview = new JLabel(); |
264 | 272 |
lpreview.setText("Previsualizacion"); |
265 | 273 |
lpreview.setPreferredSize(new java.awt.Dimension(150,15)); |
266 | 274 |
lpreview.setSize(new java.awt.Dimension(160,15)); |
267 |
GridBagConstraints gridBagConstraints10 = new GridBagConstraints(); |
|
268 |
gridBagConstraints10.gridx = 0; |
|
269 |
gridBagConstraints10.insets = new java.awt.Insets(0,0,0,0); |
|
270 |
gridBagConstraints10.gridy = 0; |
|
271 | 275 |
jPanel1 = new JPanel(); |
272 |
jPanel1.setLayout(new GridBagLayout());
|
|
273 |
jPanel1.setPreferredSize(new java.awt.Dimension(180,25));
|
|
274 |
jPanel1.add(getJCheckBox1(), gridBagConstraints10);
|
|
275 |
jPanel1.add(lpreview, gridBagConstraints19);
|
|
276 |
jPanel1.setLayout(flowLayout1);
|
|
277 |
jPanel1.setPreferredSize(new java.awt.Dimension(wSlider,25));
|
|
278 |
jPanel1.add(getJCheckBox1(), null);
|
|
279 |
jPanel1.add(lpreview, null);
|
|
276 | 280 |
} |
277 | 281 |
return jPanel1; |
278 | 282 |
} |
... | ... | |
296 | 300 |
*/ |
297 | 301 |
private JPanel getPEnCheck() { |
298 | 302 |
if (pEnCheck == null) { |
299 |
GridBagConstraints gridBagConstraints14 = new GridBagConstraints(); |
|
300 |
gridBagConstraints14.insets = new java.awt.Insets(0,0,0,0); |
|
301 |
gridBagConstraints14.gridy = 0; |
|
302 |
gridBagConstraints14.gridx = 1; |
|
303 |
GridBagConstraints gridBagConstraints13 = new GridBagConstraints(); |
|
304 |
gridBagConstraints13.insets = new java.awt.Insets(0,0,0,0); |
|
305 |
gridBagConstraints13.gridy = 0; |
|
306 |
gridBagConstraints13.gridx = 0; |
|
303 |
FlowLayout flowLayout2 = new FlowLayout(); |
|
304 |
flowLayout2.setHgap(0); |
|
305 |
flowLayout2.setAlignment(java.awt.FlowLayout.LEFT); |
|
306 |
flowLayout2.setVgap(0); |
|
307 | 307 |
lLineal = new JLabel(); |
308 | 308 |
lLineal.setText("Lineal Directo"); |
309 | 309 |
lLineal.setPreferredSize(new java.awt.Dimension(160,15)); |
310 | 310 |
pEnCheck = new JPanel(); |
311 |
pEnCheck.setLayout(new GridBagLayout());
|
|
312 |
pEnCheck.setPreferredSize(new java.awt.Dimension(182,25));
|
|
313 |
pEnCheck.add(getCEnhanced(), gridBagConstraints13);
|
|
314 |
pEnCheck.add(lLineal, gridBagConstraints14);
|
|
311 |
pEnCheck.setLayout(flowLayout2);
|
|
312 |
pEnCheck.setPreferredSize(new java.awt.Dimension(wBCheck,25));
|
|
313 |
pEnCheck.add(getCEnhanced(), null);
|
|
314 |
pEnCheck.add(lLineal, null);
|
|
315 | 315 |
} |
316 | 316 |
return pEnCheck; |
317 | 317 |
} |
... | ... | |
333 | 333 |
gridBagConstraints15.gridx = 0; |
334 | 334 |
pEnSlider = new JPanel(); |
335 | 335 |
pEnSlider.setLayout(new GridBagLayout()); |
336 |
pEnSlider.setPreferredSize(new java.awt.Dimension(188,100));
|
|
336 |
pEnSlider.setPreferredSize(new java.awt.Dimension(wEnhan,hEnhan));
|
|
337 | 337 |
pEnSlider.setBorder(javax.swing.BorderFactory.createLineBorder(java.awt.Color.gray,1)); |
338 | 338 |
pEnSlider.add(getPDelInt(), gridBagConstraints15); |
339 | 339 |
pEnSlider.add(getCheckSliderText(), gridBagConstraints18); |
... | ... | |
361 | 361 |
*/ |
362 | 362 |
private JPanel getPDelInt() { |
363 | 363 |
if (pDelInt == null) { |
364 |
GridBagConstraints gridBagConstraints17 = new GridBagConstraints(); |
|
365 |
gridBagConstraints17.gridx = 1; |
|
366 |
gridBagConstraints17.gridy = 0; |
|
364 |
FlowLayout flowLayout3 = new FlowLayout(); |
|
365 |
flowLayout3.setAlignment(java.awt.FlowLayout.LEFT); |
|
366 |
flowLayout3.setVgap(0); |
|
367 |
flowLayout3.setHgap(5); |
|
367 | 368 |
lRemove = new JLabel(); |
368 | 369 |
lRemove.setText("Eliminar Extremos"); |
369 | 370 |
lRemove.setPreferredSize(new java.awt.Dimension(150,15)); |
370 |
GridBagConstraints gridBagConstraints16 = new GridBagConstraints(); |
|
371 |
gridBagConstraints16.insets = new java.awt.Insets(0,0,0,0); |
|
372 |
gridBagConstraints16.gridy = 0; |
|
373 |
gridBagConstraints16.gridx = 0; |
|
374 | 371 |
pDelInt = new JPanel(); |
375 |
pDelInt.setLayout(new GridBagLayout());
|
|
376 |
pDelInt.setPreferredSize(new java.awt.Dimension(180,25));
|
|
377 |
pDelInt.add(getJCheckBox(), gridBagConstraints16);
|
|
378 |
pDelInt.add(lRemove, gridBagConstraints17);
|
|
372 |
pDelInt.setLayout(flowLayout3);
|
|
373 |
pDelInt.setPreferredSize(new java.awt.Dimension(wSlider + 1,25));
|
|
374 |
pDelInt.add(getJCheckBox(), null);
|
|
375 |
pDelInt.add(lRemove, null);
|
|
379 | 376 |
} |
380 | 377 |
return pDelInt; |
381 | 378 |
} |
... | ... | |
409 | 406 |
return cstEnhanced; |
410 | 407 |
} |
411 | 408 |
|
409 |
|
|
410 |
public void setComponentSize(int w, int h){ |
|
411 |
wComp = w; hComp = h; |
|
412 |
wPanels = (int)Math.round(wComp / 2) - 13; hPanels = hComp - 16; |
|
413 |
wBright = wPanels - 22; hBright = hPanels - 73; |
|
414 |
wEnhan = wBright; hEnhan = hPanels - 123; |
|
415 |
wBCheck = wPanels - 28; |
|
416 |
wSlider = wBright - 9; hSlider = 45; |
|
417 |
|
|
418 |
this.setSize(wComp, hComp); |
|
419 |
this.setPreferredSize(new java.awt.Dimension(wComp,hComp)); |
|
420 |
pBrightCont.setPreferredSize(new java.awt.Dimension(wPanels,hPanels)); |
|
421 |
pEnhanced.setPreferredSize(new java.awt.Dimension(wPanels,hPanels)); |
|
422 |
pBCCheck.setPreferredSize(new java.awt.Dimension(wBCheck,25)); |
|
423 |
pBCSlider.setPreferredSize(new java.awt.Dimension(wBright,hBright)); |
|
424 |
this.lstBrightness.setComponentSize(wSlider, hSlider); |
|
425 |
this.lstContrast.setComponentSize(wSlider, hSlider); |
|
426 |
jPanel1.setPreferredSize(new java.awt.Dimension(wSlider,25)); |
|
427 |
pEnSlider.setPreferredSize(new java.awt.Dimension(wEnhan,hEnhan)); |
|
428 |
pEnCheck.setPreferredSize(new java.awt.Dimension(wBCheck,25)); |
|
429 |
this.cstEnhanced.setComponentSize(wSlider, hSlider); |
|
430 |
pDelInt.setPreferredSize(new java.awt.Dimension(wSlider + 1,25)); |
|
431 |
|
|
432 |
|
|
433 |
} |
|
434 |
|
|
435 |
|
|
412 | 436 |
/** |
413 | 437 |
* Habilita o dehabilita el panel de brillo y contraste |
414 | 438 |
* @param active |
... | ... | |
430 | 454 |
this.cstEnhanced.setControlEnabled(active); |
431 | 455 |
} |
432 | 456 |
|
457 |
/** |
|
458 |
* Habilita o deshabilita el todo el panel |
|
459 |
* @param active |
|
460 |
*/ |
|
461 |
public void setControlEnabled(boolean active){ |
|
462 |
this.setBCControlEnabled(active); |
|
463 |
this.setEControlEnabled(active); |
|
464 |
this.cBrightC.setEnabled(active); |
|
465 |
this.cEnhanced.setEnabled(active); |
|
466 |
this.lBrightC.setEnabled(active); |
|
467 |
this.lLineal.setEnabled(active); |
|
468 |
this.pBrightCont.setEnabled(active); |
|
469 |
this.pEnhanced.setEnabled(active); |
|
470 |
} |
|
433 | 471 |
|
434 | 472 |
public void actionPerformed(ActionEvent e) { |
435 | 473 |
if(e.getSource() == this.getCBrightC()){ |
... | ... | |
494 | 532 |
*/ |
495 | 533 |
public String getName(){ |
496 | 534 |
return this.nom; |
497 |
} |
|
535 |
}
|
|
498 | 536 |
|
499 | 537 |
} |
500 | 538 |
|
Also available in: Unified diff