Revision 2046

View differences:

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/bookmarkshistory/DefaultBookmarksController.java
75 75
                    doBookmarks();
76 76
                }
77 77
            });
78
            if( "...".equals(this.btnBookmarks.getText()) ) {
79
                this.btnBookmarks.setText("");
80
            }
78 81
        }
79 82
    }
80 83

  
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/bookmarkshistory/DefaultHistoryController.java
77 77
                    doHistory();
78 78
                }
79 79
            });
80
            if( "...".equals(this.button.getText()) ) {
81
                this.button.setText("");
82
            }
80 83
        }
81 84
    }
82 85

  
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/DefaultJListWithCheckbox.java
1
/*
2
 * To change this license header, choose License Headers in Project Properties.
3
 * To change this template file, choose Tools | Templates
4
 * and open the template in the editor.
5
 */
1

  
6 2
package org.gvsig.tools.swing.impl;
7 3

  
8 4
import java.awt.BorderLayout;
......
37 33

  
38 34
public class DefaultJListWithCheckbox extends JListWithCheckbox {
39 35

  
40
    private static final Logger logger = LoggerFactory.getLogger(DefaultJListWithCheckbox.class);
36
    private static final Logger LOGGER = LoggerFactory.getLogger(DefaultJListWithCheckbox.class);
41 37

  
42 38

  
43
    public class CheckListCellRenderer extends JPanel implements ListCellRenderer {
39
    private class CheckListCellRenderer extends JPanel implements ListCellRenderer {
44 40

  
45
        private ListCellRenderer delegate;
41
        private final ListCellRenderer delegate;
46 42
        private ListSelectionModel selectionModel;
47
        private JCheckBox checkBox = new JCheckBox();
43
        private final JCheckBox checkBox = new JCheckBox();
48 44

  
49 45
        public CheckListCellRenderer(ListCellRenderer renderer, ListSelectionModel selectionModel) {
50 46
            this.delegate = renderer;
......
55 51
            checkBoxWidth = (int) this.checkBox.getPreferredSize().getWidth();
56 52
        }
57 53

  
54
        @Override
58 55
        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
59 56
            Component renderer = delegate.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
60 57
            checkBox.setSelected(selectionModel.isSelectedIndex(index));
......
63 60
            add(renderer, BorderLayout.CENTER);
64 61
            return this;
65 62
        }
63
        
64
        public void setCheckedModel(ListSelectionModel selectionModel) {
65
            this.selectionModel = selectionModel;
66
        }
66 67
    }
67 68

  
68 69
    private int checkBoxWidth = 0;
69 70
    private final JList wrappedList;
70 71
    private ListSelectionModel checkedsModel = new DefaultListSelectionModel();
71 72
    private Set<ListSelectionListener> checkedsListeners;
73
    private final ListSelectionListener checksModelListener;
74
    private final CheckListCellRenderer checkListCellRenderer;
72 75
        
73 76
    public DefaultJListWithCheckbox(final JList wrappedList) {
74 77
        this.wrappedList = wrappedList;
75 78
        this.checkedsModel.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
76
        this.checkedsListeners = new HashSet<ListSelectionListener>();
79
        this.checkedsListeners = new HashSet<>();
77 80
        
78
        this.wrappedList.setCellRenderer(
79
                new CheckListCellRenderer(
80
                        this.wrappedList.getCellRenderer(),
81
                        this.checkedsModel
82
                )
81
        this.checkListCellRenderer = new CheckListCellRenderer(
82
                this.wrappedList.getCellRenderer(),
83
                this.checkedsModel
83 84
        );
85
        this.wrappedList.setCellRenderer(this.checkListCellRenderer);
84 86
        this.wrappedList.addMouseListener(new MouseAdapter() {
87
            @Override
85 88
            public void mouseClicked(MouseEvent me) {
86 89
                int index = wrappedList.locationToIndex(me.getPoint());
87 90
                if (index < 0) {
......
93 96
                toggleCheck(index);
94 97
            }
95 98
        });
96
        this.checkedsModel.addListSelectionListener(new ListSelectionListener() {
99
        this.checksModelListener = new ListSelectionListener() {
97 100
            @Override
98 101
            public void valueChanged(ListSelectionEvent lse) {
99 102
                wrappedList.repaint();
100 103
                //fireCheckedsListeners(lse);
101 104
            }
102
        });
103
        
105
        };
106
        this.setCheckedModel(checkedsModel);
104 107
    }
105 108

  
109
    @Override
110
    public final void setCheckedModel(ListSelectionModel checkedsModel) {
111
        this.checkedsModel.removeListSelectionListener(this.checksModelListener);
112
        this.checkedsModel = checkedsModel;
113
        this.checkedsModel.addListSelectionListener(this.checksModelListener);
114
        this.checkListCellRenderer.setCheckedModel(checkedsModel);
115
    }
116
    
117
    @Override
106 118
    public void toggleCheck(int index) {
107 119
        if (index < 0) {
108 120
            return;
......
306 318
        return this.wrappedList.getSelectionModel();
307 319
    }
308 320

  
321
    @Override
309 322
    public ListSelectionModel getCheckedModel() {
310 323
        return this.checkedsModel;
311 324
    }
......
315 328
        this.wrappedList.addListSelectionListener(listener);
316 329
    }
317 330
    
331
    @Override
318 332
    public void addChecksListener(ListSelectionListener listener) {
319 333
       this.checkedsListeners.add(listener);
320 334
    }
......
324 338
        this.wrappedList.removeListSelectionListener(listener);
325 339
    }    
326 340
    
341
    @Override
327 342
    public void removeChecksListener(ListSelectionListener listener) {
328 343
        this.checkedsListeners.remove(listener);
329 344
    }
......
333 348
        return this.wrappedList.getListSelectionListeners();
334 349
    }
335 350

  
351
    @Override
336 352
    public ListSelectionListener[] getChecksListeners() {
337 353
        return this.checkedsListeners.toArray(new ListSelectionListener[1]);
338 354
    }
......
344 360
            try {
345 361
                listener.valueChanged(event);
346 362
            } catch(Throwable th) {
347
                logger.warn("Problems calling check listener ("+listener+").",th);
363
                LOGGER.warn("Problems calling check listener ("+listener+").",th);
348 364
            }
349 365
        }
350 366
    }

Also available in: Unified diff