This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

View | Details | Raw Unified | Return to bug 212297
Collapse All | Expand All

(-)a/java.api.common/src/org/netbeans/modules/java/api/common/project/ui/customizer/MainClassChooser.java (-5 / +9 lines)
Lines 58-66 Link Here
58
import java.util.concurrent.Future;
58
import java.util.concurrent.Future;
59
import java.util.concurrent.atomic.AtomicBoolean;
59
import java.util.concurrent.atomic.AtomicBoolean;
60
import javax.lang.model.element.TypeElement;
60
import javax.lang.model.element.TypeElement;
61
import javax.swing.DefaultListCellRenderer;
62
import javax.swing.JList;
61
import javax.swing.JList;
63
import javax.swing.JPanel;
62
import javax.swing.JPanel;
63
import javax.swing.ListCellRenderer;
64
import javax.swing.ListSelectionModel;
64
import javax.swing.ListSelectionModel;
65
import javax.swing.SwingUtilities;
65
import javax.swing.SwingUtilities;
66
import javax.swing.event.ChangeEvent;
66
import javax.swing.event.ChangeEvent;
Lines 113-119 Link Here
113
        Parameters.notNull("sourceRoots", sourcesRoots);    //NOI18N
113
        Parameters.notNull("sourceRoots", sourcesRoots);    //NOI18N
114
        dialogSubtitle = subtitle;
114
        dialogSubtitle = subtitle;
115
        initComponents();
115
        initComponents();
116
        jMainClassList.setCellRenderer(new MainClassRenderer());
116
        jMainClassList.setCellRenderer(new MainClassRenderer(jMainClassList.getCellRenderer()));
117
        initClassesView();
117
        initClassesView();
118
        initClassesModel(sourcesRoots, mainClass);
118
        initClassesModel(sourcesRoots, mainClass);
119
        scanningLabel.setVisible(false);
119
        scanningLabel.setVisible(false);
Lines 127-133 Link Here
127
        assert mainClassesInFile != null;
127
        assert mainClassesInFile != null;
128
        dialogSubtitle = subtitle;
128
        dialogSubtitle = subtitle;
129
        this.initComponents();
129
        this.initComponents();
130
        jMainClassList.setCellRenderer(new MainClassRenderer());
130
        jMainClassList.setCellRenderer(new MainClassRenderer(jMainClassList.getCellRenderer()));
131
        initClassesView();
131
        initClassesView();
132
        initClassesModel (mainClassesInFile);
132
        initClassesModel (mainClassesInFile);
133
    }
133
    }
Lines 389-395 Link Here
389
        return 0;
389
        return 0;
390
    }
390
    }
391
391
392
    private static final class MainClassRenderer extends DefaultListCellRenderer {
392
    private static final class MainClassRenderer implements ListCellRenderer {
393
        private final ListCellRenderer orig;
394
        MainClassRenderer(ListCellRenderer orig) {
395
            this.orig = orig;
396
        }
393
        @Override
397
        @Override
394
        public Component getListCellRendererComponent (JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
398
        public Component getListCellRendererComponent (JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
395
            String displayName;
399
            String displayName;
Lines 400-406 Link Here
400
            } else {
404
            } else {
401
                displayName = value.toString ();
405
                displayName = value.toString ();
402
            }
406
            }
403
            return super.getListCellRendererComponent (list, displayName, index, isSelected, cellHasFocus);
407
            return orig.getListCellRendererComponent (list, displayName, index, isSelected, cellHasFocus);
404
        }
408
        }
405
    }
409
    }
406
    
410
    
(-)a/java.api.common/src/org/netbeans/modules/java/api/common/project/ui/customizer/SourceRootsUi.java (-6 / +8 lines)
Lines 60-66 Link Here
60
import java.text.MessageFormat;
60
import java.text.MessageFormat;
61
import javax.swing.CellEditor;
61
import javax.swing.CellEditor;
62
import javax.swing.DefaultCellEditor;
62
import javax.swing.DefaultCellEditor;
63
import javax.swing.DefaultListCellRenderer;
64
import javax.swing.JButton;
63
import javax.swing.JButton;
65
import javax.swing.JComponent;
64
import javax.swing.JComponent;
66
import javax.swing.JFileChooser;
65
import javax.swing.JFileChooser;
Lines 71-76 Link Here
71
import javax.swing.JScrollPane;
70
import javax.swing.JScrollPane;
72
import javax.swing.JTable;
71
import javax.swing.JTable;
73
import javax.swing.JTextField;
72
import javax.swing.JTextField;
73
import javax.swing.ListCellRenderer;
74
import javax.swing.ListSelectionModel;
74
import javax.swing.ListSelectionModel;
75
import javax.swing.SwingUtilities;
75
import javax.swing.SwingUtilities;
76
import javax.swing.event.ListSelectionEvent;
76
import javax.swing.event.ListSelectionEvent;
Lines 579-585 Link Here
579
            ((GridBagLayout)this.getLayout()).setConstraints(label,c);
579
            ((GridBagLayout)this.getLayout()).setConstraints(label,c);
580
            this.add (label);            
580
            this.add (label);            
581
            JList roots = new JList (invalidRoots.toArray());
581
            JList roots = new JList (invalidRoots.toArray());
582
            roots.setCellRenderer (new InvalidRootRenderer(true));
582
            roots.setCellRenderer(new InvalidRootRenderer(roots.getCellRenderer(), true));
583
            JScrollPane p = new JScrollPane (roots);
583
            JScrollPane p = new JScrollPane (roots);
584
            c = new GridBagConstraints();
584
            c = new GridBagConstraints();
585
            c.gridx = GridBagConstraints.RELATIVE;
585
            c.gridx = GridBagConstraints.RELATIVE;
Lines 607-624 Link Here
607
            this.add (label2);            
607
            this.add (label2);            
608
        }
608
        }
609
609
610
        private static class InvalidRootRenderer extends DefaultListCellRenderer {
610
        private static class InvalidRootRenderer implements ListCellRenderer {
611
            private static final long serialVersionUID = 194496879246810209L;
611
            private static final long serialVersionUID = 194496879246810209L;
612
612
613
            private final ListCellRenderer orig;
613
            private boolean projectConflict;
614
            private boolean projectConflict;
614
615
615
            public InvalidRootRenderer (boolean projectConflict) {
616
            InvalidRootRenderer(ListCellRenderer orig, boolean projectConflict) {
617
                this.orig = orig;
616
                this.projectConflict = projectConflict;
618
                this.projectConflict = projectConflict;
617
            }
619
            }
618
620
619
            public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
621
            public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
620
                if (" ".equals(value)) { // NOI18N
622
                if (" ".equals(value)) { // NOI18N
621
                    return super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
623
                    return orig.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
622
                }
624
                }
623
                File f = (File) value;
625
                File f = (File) value;
624
                String message = f.getAbsolutePath();
626
                String message = f.getAbsolutePath();
Lines 632-638 Link Here
632
                            projectName});
634
                            projectName});
633
                    }
635
                    }
634
                }
636
                }
635
                return super.getListCellRendererComponent(list, message, index, isSelected, cellHasFocus);
637
                return orig.getListCellRendererComponent(list, message, index, isSelected, cellHasFocus);
636
            }
638
            }
637
        }
639
        }
638
    }
640
    }
(-)a/java.api.common/src/org/netbeans/modules/java/api/common/project/ui/wizards/FolderList.java (-5 / +9 lines)
Lines 64-74 Link Here
64
import java.util.concurrent.atomic.AtomicReference;
64
import java.util.concurrent.atomic.AtomicReference;
65
import java.util.regex.Pattern;
65
import java.util.regex.Pattern;
66
import javax.swing.DefaultListModel;
66
import javax.swing.DefaultListModel;
67
import javax.swing.DefaultListCellRenderer;
68
import javax.swing.DropMode;
67
import javax.swing.DropMode;
69
import javax.swing.JComponent;
68
import javax.swing.JComponent;
70
import javax.swing.JFileChooser;
69
import javax.swing.JFileChooser;
71
import javax.swing.JList;
70
import javax.swing.JList;
71
import javax.swing.ListCellRenderer;
72
import javax.swing.TransferHandler;
72
import javax.swing.TransferHandler;
73
import javax.swing.event.ListSelectionListener;
73
import javax.swing.event.ListSelectionListener;
74
import javax.swing.event.ListSelectionEvent;
74
import javax.swing.event.ListSelectionEvent;
Lines 115-121 Link Here
115
        this.jLabel1.setText(label);
115
        this.jLabel1.setText(label);
116
        this.jLabel1.setDisplayedMnemonic(mnemonic);
116
        this.jLabel1.setDisplayedMnemonic(mnemonic);
117
        this.roots.getAccessibleContext().setAccessibleName(accessibleDesc);
117
        this.roots.getAccessibleContext().setAccessibleName(accessibleDesc);
118
        this.roots.setCellRenderer(new Renderer());
118
        this.roots.setCellRenderer(new Renderer(roots.getCellRenderer()));
119
        this.roots.setModel (new DefaultListModel());
119
        this.roots.setModel (new DefaultListModel());
120
        this.roots.addListSelectionListener(new ListSelectionListener() {
120
        this.roots.addListSelectionListener(new ListSelectionListener() {
121
            public void valueChanged(ListSelectionEvent e) {
121
            public void valueChanged(ListSelectionEvent e) {
Lines 459-472 Link Here
459
        return false;
459
        return false;
460
    }
460
    }
461
461
462
    private static class Renderer extends DefaultListCellRenderer {
462
    private static class Renderer implements ListCellRenderer {
463
        private final ListCellRenderer orig;
464
        Renderer(ListCellRenderer orig) {
465
            this.orig = orig;
466
        }
463
        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
467
        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
464
            if (" ".equals(value)) { // NOI18N
468
            if (" ".equals(value)) { // NOI18N
465
                return super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
469
                return orig.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
466
            }
470
            }
467
            File f = (File) value;
471
            File f = (File) value;
468
            String message = f.getAbsolutePath();
472
            String message = f.getAbsolutePath();
469
            Component result = super.getListCellRendererComponent(list, message, index, isSelected, cellHasFocus);
473
            Component result = orig.getListCellRendererComponent(list, message, index, isSelected, cellHasFocus);
470
            return result;
474
            return result;
471
        }        
475
        }        
472
    }
476
    }
(-)a/java.api.common/src/org/netbeans/modules/java/api/common/ui/PlatformUiSupport.java (-6 / +26 lines)
Lines 104-111 Link Here
104
     * created by the {@link PlatformUiSupport#createPlatformComboBoxModel(String)} method.
104
     * created by the {@link PlatformUiSupport#createPlatformComboBoxModel(String)} method.
105
     * @return {@link ListCellRenderer}.
105
     * @return {@link ListCellRenderer}.
106
     */
106
     */
107
    @Deprecated
107
    public static ListCellRenderer createPlatformListCellRenderer() {
108
    public static ListCellRenderer createPlatformListCellRenderer() {
108
        return new PlatformListCellRenderer();
109
        return createPlatformListCellRenderer(new JComboBox().getRenderer());
110
    }
111
    /**
112
     * @since XXX
113
     */
114
    public static ListCellRenderer createPlatformListCellRenderer(ListCellRenderer orig) {
115
        return new PlatformListCellRenderer(orig);
109
    }
116
    }
110
117
111
    /**
118
    /**
Lines 340-347 Link Here
340
     * of illegal source levels is needed.
347
     * of illegal source levels is needed.
341
     * @return {@link ListCellRenderer} for source levels.
348
     * @return {@link ListCellRenderer} for source levels.
342
     */
349
     */
350
    @Deprecated
343
    public static ListCellRenderer createSourceLevelListCellRenderer() {
351
    public static ListCellRenderer createSourceLevelListCellRenderer() {
344
        return new SourceLevelListCellRenderer();
352
        return createSourceLevelListCellRenderer(new JComboBox().getRenderer());
353
    }
354
    /**
355
     * @since XXX
356
     */
357
    public static ListCellRenderer createSourceLevelListCellRenderer(ListCellRenderer orig) {
358
        return new SourceLevelListCellRenderer(orig);
345
    }
359
    }
346
360
347
    /**
361
    /**
Lines 582-590 Link Here
582
    private static final class PlatformListCellRenderer implements ListCellRenderer {
596
    private static final class PlatformListCellRenderer implements ListCellRenderer {
583
597
584
        private final ListCellRenderer delegate;
598
        private final ListCellRenderer delegate;
599
        private final ListCellRenderer orig;
585
600
586
        public PlatformListCellRenderer() {
601
        public PlatformListCellRenderer(ListCellRenderer orig) {
587
            delegate = HtmlRenderer.createRenderer();
602
            delegate = HtmlRenderer.createRenderer();
603
            this.orig = orig;
588
        }
604
        }
589
605
590
        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected,
606
        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected,
Lines 599-609 Link Here
599
                    name = "<html><font color=\"#A40000\">" //NOI18N
615
                    name = "<html><font color=\"#A40000\">" //NOI18N
600
                            + NbBundle.getMessage(
616
                            + NbBundle.getMessage(
601
                                    PlatformUiSupport.class, "TXT_BrokenPlatformFmt", key.getDisplayName());
617
                                    PlatformUiSupport.class, "TXT_BrokenPlatformFmt", key.getDisplayName());
618
                    return delegate.getListCellRendererComponent(list, name, index, isSelected, cellHasFocus);
602
                } else {
619
                } else {
603
                    name = key.getDisplayName();
620
                    name = key.getDisplayName();
604
                }
621
                }
605
            }
622
            }
606
            return delegate.getListCellRendererComponent(list, name, index, isSelected, cellHasFocus);
623
            return orig.getListCellRendererComponent(list, name, index, isSelected, cellHasFocus);
607
        }
624
        }
608
    }
625
    }
609
626
Lines 789-797 Link Here
789
    private static final class SourceLevelListCellRenderer implements ListCellRenderer {
806
    private static final class SourceLevelListCellRenderer implements ListCellRenderer {
790
807
791
        private ListCellRenderer delegate;
808
        private ListCellRenderer delegate;
809
        private final ListCellRenderer orig;
792
810
793
        public SourceLevelListCellRenderer() {
811
        public SourceLevelListCellRenderer(ListCellRenderer orig) {
794
            delegate = HtmlRenderer.createRenderer();
812
            delegate = HtmlRenderer.createRenderer();
813
            this.orig = orig;
795
        }
814
        }
796
815
797
        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected,
816
        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected,
Lines 806-816 Link Here
806
                    message = "<html><font color=\"#A40000\">" //NOI18N
825
                    message = "<html><font color=\"#A40000\">" //NOI18N
807
                            + NbBundle.getMessage(
826
                            + NbBundle.getMessage(
808
                                    PlatformUiSupport.class, "TXT_InvalidSourceLevel", key.getDisplayName());
827
                                    PlatformUiSupport.class, "TXT_InvalidSourceLevel", key.getDisplayName());
828
                    return delegate.getListCellRendererComponent(list, message, index, isSelected, cellHasFocus);
809
                } else {
829
                } else {
810
                    message = key.getDisplayName();
830
                    message = key.getDisplayName();
811
                }
831
                }
812
            }
832
            }
813
            return delegate.getListCellRendererComponent(list, message, index, isSelected, cellHasFocus);
833
            return orig.getListCellRendererComponent(list, message, index, isSelected, cellHasFocus);
814
        }
834
        }
815
    }
835
    }
816
836
(-)a/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/CustomizerLibraries.java (-1 / +1 lines)
Lines 179-185 Link Here
179
        jCheckBoxBuildSubprojects.setModel( uiProperties.NO_DEPENDENCIES_MODEL );                        
179
        jCheckBoxBuildSubprojects.setModel( uiProperties.NO_DEPENDENCIES_MODEL );                        
180
        librariesLocation.setDocument(uiProperties.SHARED_LIBRARIES_MODEL);
180
        librariesLocation.setDocument(uiProperties.SHARED_LIBRARIES_MODEL);
181
        jComboBoxTarget.setModel(uiProperties.PLATFORM_MODEL);               
181
        jComboBoxTarget.setModel(uiProperties.PLATFORM_MODEL);               
182
        jComboBoxTarget.setRenderer(uiProperties.PLATFORM_LIST_RENDERER);
182
        jComboBoxTarget.setRenderer(PlatformUiSupport.createPlatformListCellRenderer(jComboBoxTarget.getRenderer()));
183
        if (!UIManager.getLookAndFeel().getClass().getName().toUpperCase().contains("AQUA")) {  //NOI18N
183
        if (!UIManager.getLookAndFeel().getClass().getName().toUpperCase().contains("AQUA")) {  //NOI18N
184
            //Not needed on Mac AQUA L&F also this causes an appearance problem on it
184
            //Not needed on Mac AQUA L&F also this causes an appearance problem on it
185
            jComboBoxTarget.putClientProperty ("JComboBox.isTableCellEditor", Boolean.TRUE);    //NOI18N
185
            jComboBoxTarget.putClientProperty ("JComboBox.isTableCellEditor", Boolean.TRUE);    //NOI18N
(-)a/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/CustomizerRun.java (-26 / +6 lines)
Lines 67-73 Link Here
67
import javax.swing.event.ChangeListener;
67
import javax.swing.event.ChangeListener;
68
import javax.swing.event.DocumentEvent;
68
import javax.swing.event.DocumentEvent;
69
import javax.swing.event.DocumentListener;
69
import javax.swing.event.DocumentListener;
70
import javax.swing.plaf.UIResource;
71
import java.awt.*;
70
import java.awt.*;
72
import java.awt.event.ActionEvent;
71
import java.awt.event.ActionEvent;
73
import java.awt.event.ActionListener;
72
import java.awt.event.ActionListener;
Lines 139-145 Link Here
139
        
138
        
140
        configChanged(uiProperties.activeConfig);
139
        configChanged(uiProperties.activeConfig);
141
        
140
        
142
        configCombo.setRenderer(new ConfigListCellRenderer());
141
        configCombo.setRenderer(new ConfigListCellRenderer(configCombo.getRenderer()));
143
        
142
        
144
        for (int i = 0; i < data.length; i++) {
143
        for (int i = 0; i < data.length; i++) {
145
            final JTextField field = data[i];
144
            final JTextField field = data[i];
Lines 683-698 Link Here
683
        
682
        
684
    }
683
    }
685
    
684
    
686
    private final class ConfigListCellRenderer extends JLabel implements ListCellRenderer, UIResource {
685
    private final class ConfigListCellRenderer implements ListCellRenderer {
687
        
686
        
688
        public ConfigListCellRenderer () {
687
        private final ListCellRenderer orig;
689
            setOpaque(true);
688
        ConfigListCellRenderer(ListCellRenderer orig) {
689
            this.orig = orig;
690
        }
690
        }
691
        
691
        
692
        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
692
        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
693
            // #93658: GTK needs name to render cell renderer "natively"
694
            setName("ComboBox.listRenderer"); // NOI18N
695
            
696
            String config = (String) value;
693
            String config = (String) value;
697
            String label;
694
            String label;
698
            if (config == null) {
695
            if (config == null) {
Lines 707-730 Link Here
707
            } else {
704
            } else {
708
                label = NbBundle.getBundle("org.netbeans.modules.java.j2seproject.Bundle").getString("J2SEConfigurationProvider.default.label"); // NOI18N
705
                label = NbBundle.getBundle("org.netbeans.modules.java.j2seproject.Bundle").getString("J2SEConfigurationProvider.default.label"); // NOI18N
709
            }
706
            }
710
            setText(label);
707
            return orig.getListCellRendererComponent(list, label, index, isSelected, cellHasFocus);
711
            
712
            if ( isSelected ) {
713
                setBackground(list.getSelectionBackground());
714
                setForeground(list.getSelectionForeground());             
715
            }
716
            else {
717
                setBackground(list.getBackground());
718
                setForeground(list.getForeground());
719
            }
720
            
721
            return this;
722
        }
723
        
724
        // #93658: GTK needs name to render cell renderer "natively"
725
        public String getName() {
726
            String name = super.getName();
727
            return name == null ? "ComboBox.renderer" : name;  // NOI18N
728
        }
708
        }
729
        
709
        
730
    }
710
    }
(-)a/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/CustomizerSources.java (-2 / +3 lines)
Lines 58-63 Link Here
58
import javax.swing.table.TableColumn;
58
import javax.swing.table.TableColumn;
59
import javax.swing.table.TableModel;
59
import javax.swing.table.TableModel;
60
import org.netbeans.modules.java.api.common.project.ui.customizer.SourceRootsUi;
60
import org.netbeans.modules.java.api.common.project.ui.customizer.SourceRootsUi;
61
import org.netbeans.modules.java.api.common.ui.PlatformUiSupport;
61
import org.netbeans.spi.java.project.support.ui.IncludeExcludeVisualizer;
62
import org.netbeans.spi.java.project.support.ui.IncludeExcludeVisualizer;
62
import org.netbeans.spi.project.ui.support.ProjectCustomizer;
63
import org.netbeans.spi.project.ui.support.ProjectCustomizer;
63
import org.openide.DialogDescriptor;
64
import org.openide.DialogDescriptor;
Lines 122-128 Link Here
122
        emTSR.setRelatedEditMediator( emSR );
123
        emTSR.setRelatedEditMediator( emSR );
123
        this.sourceLevel.setEditable(false);
124
        this.sourceLevel.setEditable(false);
124
        this.sourceLevel.setModel(uiProperties.JAVAC_SOURCE_MODEL);
125
        this.sourceLevel.setModel(uiProperties.JAVAC_SOURCE_MODEL);
125
        this.sourceLevel.setRenderer(uiProperties.JAVAC_SOURCE_RENDERER);        
126
        this.sourceLevel.setRenderer(PlatformUiSupport.createSourceLevelListCellRenderer(sourceLevel.getRenderer()));
126
        uiProperties.JAVAC_SOURCE_MODEL.addListDataListener(new ListDataListener () {
127
        uiProperties.JAVAC_SOURCE_MODEL.addListDataListener(new ListDataListener () {
127
            public void intervalAdded(ListDataEvent e) {
128
            public void intervalAdded(ListDataEvent e) {
128
                enableSourceLevel ();
129
                enableSourceLevel ();
Lines 143-149 Link Here
143
        }
144
        }
144
        
145
        
145
        this.encoding.setModel(ProjectCustomizer.encodingModel(originalEncoding));
146
        this.encoding.setModel(ProjectCustomizer.encodingModel(originalEncoding));
146
        this.encoding.setRenderer(ProjectCustomizer.encodingRenderer());
147
        this.encoding.setRenderer(ProjectCustomizer.encodingRenderer(this.encoding.getRenderer()));
147
        final String lafid = UIManager.getLookAndFeel().getID();
148
        final String lafid = UIManager.getLookAndFeel().getID();
148
        if (!"Aqua".equals(lafid)) { //NOI18N
149
        if (!"Aqua".equals(lafid)) { //NOI18N
149
            this.encoding.putClientProperty ("JComboBox.isTableCellEditor", Boolean.TRUE);    //NOI18N
150
            this.encoding.putClientProperty ("JComboBox.isTableCellEditor", Boolean.TRUE);    //NOI18N
(-)a/java.j2seproject/src/org/netbeans/modules/java/j2seproject/ui/customizer/J2SEProjectProperties.java (-4 lines)
Lines 205-212 Link Here
205
    DefaultListModel ENDORSED_CLASSPATH_MODEL;
205
    DefaultListModel ENDORSED_CLASSPATH_MODEL;
206
    ComboBoxModel PLATFORM_MODEL;
206
    ComboBoxModel PLATFORM_MODEL;
207
    ListCellRenderer CLASS_PATH_LIST_RENDERER;
207
    ListCellRenderer CLASS_PATH_LIST_RENDERER;
208
    ListCellRenderer PLATFORM_LIST_RENDERER;
209
    ListCellRenderer JAVAC_SOURCE_RENDERER;
210
    Document SHARED_LIBRARIES_MODEL;
208
    Document SHARED_LIBRARIES_MODEL;
211
    
209
    
212
    // CustomizerCompile
210
    // CustomizerCompile
Lines 322-330 Link Here
322
        RUN_TEST_CLASSPATH_MODEL = ClassPathUiSupport.createListModel(cs.itemsIterator(projectProperties.get(ProjectProperties.RUN_TEST_CLASSPATH)));
320
        RUN_TEST_CLASSPATH_MODEL = ClassPathUiSupport.createListModel(cs.itemsIterator(projectProperties.get(ProjectProperties.RUN_TEST_CLASSPATH)));
323
        ENDORSED_CLASSPATH_MODEL = ClassPathUiSupport.createListModel(cs.itemsIterator(projectProperties.get(ProjectProperties.ENDORSED_CLASSPATH)));
321
        ENDORSED_CLASSPATH_MODEL = ClassPathUiSupport.createListModel(cs.itemsIterator(projectProperties.get(ProjectProperties.ENDORSED_CLASSPATH)));
324
        PLATFORM_MODEL = PlatformUiSupport.createPlatformComboBoxModel (evaluator.getProperty(JAVA_PLATFORM));
322
        PLATFORM_MODEL = PlatformUiSupport.createPlatformComboBoxModel (evaluator.getProperty(JAVA_PLATFORM));
325
        PLATFORM_LIST_RENDERER = PlatformUiSupport.createPlatformListCellRenderer();
326
        JAVAC_SOURCE_MODEL = PlatformUiSupport.createSourceLevelComboBoxModel (PLATFORM_MODEL, evaluator.getProperty(JAVAC_SOURCE), evaluator.getProperty(JAVAC_TARGET));
323
        JAVAC_SOURCE_MODEL = PlatformUiSupport.createSourceLevelComboBoxModel (PLATFORM_MODEL, evaluator.getProperty(JAVAC_SOURCE), evaluator.getProperty(JAVAC_TARGET));
327
        JAVAC_SOURCE_RENDERER = PlatformUiSupport.createSourceLevelListCellRenderer ();
328
        SHARED_LIBRARIES_MODEL = new PlainDocument(); 
324
        SHARED_LIBRARIES_MODEL = new PlainDocument(); 
329
        try {
325
        try {
330
            SHARED_LIBRARIES_MODEL.insertString(0, project.getAntProjectHelper().getLibrariesLocation(), null);
326
            SHARED_LIBRARIES_MODEL.insertString(0, project.getAntProjectHelper().getLibrariesLocation(), null);
(-)a/maven/src/org/netbeans/modules/maven/customizer/SourcesPanel.java (-1 / +1 lines)
Lines 207-213 Link Here
207
        sourceEncoding = handle.getProject().getProperties().getProperty(Constants.ENCODING_PROP);
207
        sourceEncoding = handle.getProject().getProperties().getProperty(Constants.ENCODING_PROP);
208
        
208
        
209
        comEncoding.setModel(ProjectCustomizer.encodingModel(oldEncoding));
209
        comEncoding.setModel(ProjectCustomizer.encodingModel(oldEncoding));
210
        comEncoding.setRenderer(ProjectCustomizer.encodingRenderer());
210
        comEncoding.setRenderer(ProjectCustomizer.encodingRenderer(comEncoding.getRenderer()));
211
        
211
        
212
        comSourceLevel.addActionListener(new ActionListener() {
212
        comSourceLevel.addActionListener(new ActionListener() {
213
            @Override
213
            @Override
(-)a/options.editor/src/org/netbeans/modules/options/indentation/FormattingPanel.java (-6 / +7 lines)
Lines 53-66 Link Here
53
import java.util.Comparator;
53
import java.util.Comparator;
54
import java.util.List;
54
import java.util.List;
55
import javax.swing.DefaultComboBoxModel;
55
import javax.swing.DefaultComboBoxModel;
56
import javax.swing.DefaultListCellRenderer;
57
import javax.swing.JComponent;
56
import javax.swing.JComponent;
58
import javax.swing.JLabel;
57
import javax.swing.JLabel;
59
import javax.swing.JList;
58
import javax.swing.JList;
60
import javax.swing.JPanel;
59
import javax.swing.JPanel;
60
import javax.swing.ListCellRenderer;
61
import javax.swing.SwingConstants;
61
import javax.swing.SwingConstants;
62
import javax.swing.SwingUtilities;
62
import javax.swing.SwingUtilities;
63
import javax.swing.UIManager;
64
import javax.swing.border.EmptyBorder;
63
import javax.swing.border.EmptyBorder;
65
import javax.swing.text.Document;
64
import javax.swing.text.Document;
66
import javax.swing.text.JTextComponent;
65
import javax.swing.text.JTextComponent;
Lines 86-92 Link Here
86
//        }
85
//        }
87
86
88
        // Languages combobox renderer
87
        // Languages combobox renderer
89
        languageCombo.setRenderer(new DefaultListCellRenderer() {
88
        languageCombo.setRenderer(new ListCellRenderer() {
89
            final ListCellRenderer orig = languageCombo.getRenderer();
90
            @Override
90
            @Override
91
            public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
91
            public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
92
                if (value instanceof String) {
92
                if (value instanceof String) {
Lines 94-111 Link Here
94
                            ? EditorSettings.getDefault().getLanguageName((String)value)
94
                            ? EditorSettings.getDefault().getLanguageName((String)value)
95
                            : org.openide.util.NbBundle.getMessage(FormattingPanel.class, "LBL_AllLanguages"); //NOI18N                                
95
                            : org.openide.util.NbBundle.getMessage(FormattingPanel.class, "LBL_AllLanguages"); //NOI18N                                
96
                }
96
                }
97
                return super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
97
                return orig.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
98
            }            
98
            }            
99
        });
99
        });
100
        
100
        
101
        // Category combobox renderer
101
        // Category combobox renderer
102
        categoryCombo.setRenderer(new DefaultListCellRenderer() {
102
        categoryCombo.setRenderer(new ListCellRenderer() {
103
            final ListCellRenderer orig = categoryCombo.getRenderer();
103
            @Override
104
            @Override
104
            public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
105
            public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
105
                if (value instanceof PreferencesCustomizer) {
106
                if (value instanceof PreferencesCustomizer) {
106
                    value = ((PreferencesCustomizer) value).getDisplayName();
107
                    value = ((PreferencesCustomizer) value).getDisplayName();
107
                }
108
                }
108
                return super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
109
                return orig.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
109
            }            
110
            }            
110
        });
111
        });
111
112
(-)a/projectuiapi/src/org/netbeans/spi/project/ui/support/ProjectCustomizer.java (-7 / +14 lines)
Lines 67-73 Link Here
67
import java.util.logging.Logger;
67
import java.util.logging.Logger;
68
import javax.swing.ComboBoxModel;
68
import javax.swing.ComboBoxModel;
69
import javax.swing.DefaultComboBoxModel;
69
import javax.swing.DefaultComboBoxModel;
70
import javax.swing.DefaultListCellRenderer;
70
import javax.swing.JComboBox;
71
import javax.swing.JComponent;
71
import javax.swing.JComponent;
72
import javax.swing.JDialog;
72
import javax.swing.JDialog;
73
import javax.swing.JList;
73
import javax.swing.JList;
Lines 709-716 Link Here
709
     * @return A renderer
709
     * @return A renderer
710
     * @since 1.42
710
     * @since 1.42
711
     */
711
     */
712
    @Deprecated
712
    public static ListCellRenderer encodingRenderer() {
713
    public static ListCellRenderer encodingRenderer() {
713
        return new EncodingRenderer();
714
        return new EncodingRenderer(new JComboBox().getRenderer());
715
    }
716
    /**
717
     * @since XXX
718
     */
719
    public static ListCellRenderer encodingRenderer(ListCellRenderer orig) {
720
        return new EncodingRenderer(orig);
714
    }
721
    }
715
722
716
    /**
723
    /**
Lines 728-737 Link Here
728
        return new EncodingModel(initialCharset);
735
        return new EncodingModel(initialCharset);
729
    }
736
    }
730
737
731
    private static final class EncodingRenderer extends DefaultListCellRenderer {
738
    private static final class EncodingRenderer implements ListCellRenderer {
732
        EncodingRenderer() {
739
        private final ListCellRenderer orig;
733
            //Needed for synth?
740
        EncodingRenderer(ListCellRenderer orig) {
734
            setName ("ComboBox.listRenderer"); //NOI18N
741
            this.orig = orig;
735
        }
742
        }
736
743
737
        @Override
744
        @Override
Lines 740-746 Link Here
740
            if (value instanceof Charset) {
747
            if (value instanceof Charset) {
741
                value = ((Charset) value).displayName();
748
                value = ((Charset) value).displayName();
742
            }
749
            }
743
            return super.getListCellRendererComponent(list, value, index,
750
            return orig.getListCellRendererComponent(list, value, index,
744
                    isSelected, isLeadSelection);
751
                    isSelected, isLeadSelection);
745
        }
752
        }
746
    }
753
    }

Return to bug 212297