Revision 1772 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.swing/org.gvsig.tools.swing.impl/src/main/java/org/gvsig/tools/swing/impl/DefaultToolsSwingManager.java
DefaultToolsSwingManager.java | ||
---|---|---|
8 | 8 |
import java.awt.event.ActionListener; |
9 | 9 |
import java.awt.image.BufferedImage; |
10 | 10 |
import java.awt.image.WritableRaster; |
11 |
import java.beans.PropertyChangeEvent; |
|
12 |
import java.beans.PropertyChangeListener; |
|
11 | 13 |
import java.io.File; |
12 | 14 |
import java.lang.reflect.InvocationTargetException; |
13 | 15 |
import java.lang.reflect.Method; |
... | ... | |
21 | 23 |
import javax.swing.JComponent; |
22 | 24 |
import javax.swing.JLabel; |
23 | 25 |
import javax.swing.JList; |
26 |
import javax.swing.JMenuItem; |
|
24 | 27 |
import javax.swing.JPopupMenu; |
25 | 28 |
import javax.swing.JScrollPane; |
26 | 29 |
import javax.swing.JSlider; |
... | ... | |
297 | 300 |
} |
298 | 301 |
} |
299 | 302 |
}; |
303 |
final JMenuItem menuCut = new JMenuItem(cutAction); |
|
304 |
final JMenuItem menuPaste = new JMenuItem(pasteAction); |
|
305 |
|
|
300 | 306 |
popupMenu.add(textEditorAction); |
301 | 307 |
popupMenu.addSeparator(); |
302 | 308 |
|
303 |
popupMenu.add(cutAction);
|
|
309 |
popupMenu.add(menuCut);
|
|
304 | 310 |
popupMenu.add(copyAction); |
305 |
popupMenu.add(pasteAction);
|
|
311 |
popupMenu.add(menuPaste);
|
|
306 | 312 |
popupMenu.add(selectAllAction); |
307 |
|
|
313 |
|
|
314 |
if( component.isEnabled() && component.isEditable() ) { |
|
315 |
menuCut.setEnabled(true); |
|
316 |
menuPaste.setEnabled(true); |
|
317 |
} else { |
|
318 |
menuCut.setEnabled(false); |
|
319 |
menuPaste.setEnabled(false); |
|
320 |
} |
|
321 |
component.addPropertyChangeListener(new PropertyChangeListener() { |
|
322 |
@Override |
|
323 |
public void propertyChange(PropertyChangeEvent evt) { |
|
324 |
if( evt==null ) { |
|
325 |
return; |
|
326 |
} |
|
327 |
if( evt.getPropertyName().equalsIgnoreCase("enabled") ) { |
|
328 |
boolean enabled = component.isEnabled(); |
|
329 |
menuCut.setEnabled(enabled); |
|
330 |
menuPaste.setEnabled(enabled); |
|
331 |
} else if( evt.getPropertyName().equalsIgnoreCase("editable") ) { |
|
332 |
boolean editable = component.isEditable(); |
|
333 |
menuCut.setEnabled(editable); |
|
334 |
menuPaste.setEnabled(editable); |
|
335 |
} |
|
336 |
} |
|
337 |
}); |
|
308 | 338 |
component.setComponentPopupMenu(popupMenu); |
309 | 339 |
} |
310 | 340 |
|
... | ... | |
406 | 436 |
|
407 | 437 |
@Override |
408 | 438 |
public void addClearButton(final JTextField text, final ActionListener action) { |
409 |
JButton btnClear = new JButton(getIcon("picker-cleartext")); |
|
439 |
final JButton btnClear = new JButton(getIcon("picker-cleartext"));
|
|
410 | 440 |
btnClear.setBorderPainted( false ); |
411 | 441 |
btnClear.setFocusPainted( false ); |
412 | 442 |
btnClear.setContentAreaFilled( false ); |
... | ... | |
423 | 453 |
} |
424 | 454 |
text.setLayout(new BorderLayout()); |
425 | 455 |
text.add(btnClear, BorderLayout.EAST); |
456 |
text.addPropertyChangeListener(new PropertyChangeListener() { |
|
457 |
@Override |
|
458 |
public void propertyChange(PropertyChangeEvent evt) { |
|
459 |
if( evt!=null && evt.getPropertyName().equalsIgnoreCase("enabled") ) { |
|
460 |
boolean enabled = text.isEnabled(); |
|
461 |
btnClear.setEnabled(enabled); |
|
462 |
} |
|
463 |
} |
|
464 |
}); |
|
426 | 465 |
} |
427 | 466 |
} |
Also available in: Unified diff