src/share/classes/javax/swing/plaf/synth/SynthTableUI.java

Print this page




 103      * current value is either null or a UIResource, other properties are set
 104      * if the current value is null.
 105      *
 106      * @see #installUI
 107      */
 108     @Override
 109     protected void installDefaults() {
 110         dateRenderer = installRendererIfPossible(Date.class, null);
 111         numberRenderer = installRendererIfPossible(Number.class, null);
 112         doubleRender = installRendererIfPossible(Double.class, null);
 113         floatRenderer = installRendererIfPossible(Float.class, null);
 114         iconRenderer = installRendererIfPossible(Icon.class, null);
 115         imageIconRenderer = installRendererIfPossible(ImageIcon.class, null);
 116         booleanRenderer = installRendererIfPossible(Boolean.class,
 117                                  new SynthBooleanTableCellRenderer());
 118         objectRenderer = installRendererIfPossible(Object.class,
 119                                         new SynthTableCellRenderer());
 120         updateStyle(table);
 121     }
 122 
 123     private TableCellRenderer installRendererIfPossible(Class objectClass,
 124                                      TableCellRenderer renderer) {
 125         TableCellRenderer currentRenderer = table.getDefaultRenderer(
 126                                  objectClass);
 127         if (currentRenderer instanceof UIResource) {
 128             table.setDefaultRenderer(objectClass, renderer);
 129         }
 130         return currentRenderer;
 131     }
 132 
 133     private void updateStyle(JTable c) {
 134         SynthContext context = getContext(c, ENABLED);
 135         SynthStyle oldStyle = style;
 136         style = SynthLookAndFeel.updateStyle(context, this);
 137         if (style != oldStyle) {
 138             context.setComponentState(ENABLED | SELECTED);
 139 
 140             Color sbg = table.getSelectionBackground();
 141             if (sbg == null || sbg instanceof UIResource) {
 142                 table.setSelectionBackground(style.getColor(
 143                                         context, ColorType.TEXT_BACKGROUND));


 775                   JTable table, Object value, boolean isSelected,
 776                   boolean hasFocus, int row, int column) {
 777             if (!useTableColors && (isSelected || hasFocus)) {
 778                 SynthLookAndFeel.setSelectedUI((SynthLabelUI)SynthLookAndFeel.
 779                              getUIOfType(getUI(), SynthLabelUI.class),
 780                                    isSelected, hasFocus, table.isEnabled(), false);
 781             }
 782             else {
 783                 SynthLookAndFeel.resetSelectedUI();
 784             }
 785             super.getTableCellRendererComponent(table, value, isSelected,
 786                                                 hasFocus, row, column);
 787 
 788             setIcon(null);
 789             if (table != null) {
 790                 configureValue(value, table.getColumnClass(column));
 791             }
 792             return this;
 793         }
 794 
 795         private void configureValue(Object value, Class columnClass) {
 796             if (columnClass == Object.class || columnClass == null) {
 797                 setHorizontalAlignment(JLabel.LEADING);
 798             } else if (columnClass == Float.class || columnClass == Double.class) {
 799                 if (numberFormat == null) {
 800                     numberFormat = NumberFormat.getInstance();
 801                 }
 802                 setHorizontalAlignment(JLabel.TRAILING);
 803                 setText((value == null) ? "" : ((NumberFormat)numberFormat).format(value));
 804             }
 805             else if (columnClass == Number.class) {
 806                 setHorizontalAlignment(JLabel.TRAILING);
 807                 // Super will have set value.
 808             }
 809             else if (columnClass == Icon.class || columnClass == ImageIcon.class) {
 810                 setHorizontalAlignment(JLabel.CENTER);
 811                 setIcon((value instanceof Icon) ? (Icon)value : null);
 812                 setText("");
 813             }
 814             else if (columnClass == Date.class) {
 815                 if (dateFormat == null) {


 103      * current value is either null or a UIResource, other properties are set
 104      * if the current value is null.
 105      *
 106      * @see #installUI
 107      */
 108     @Override
 109     protected void installDefaults() {
 110         dateRenderer = installRendererIfPossible(Date.class, null);
 111         numberRenderer = installRendererIfPossible(Number.class, null);
 112         doubleRender = installRendererIfPossible(Double.class, null);
 113         floatRenderer = installRendererIfPossible(Float.class, null);
 114         iconRenderer = installRendererIfPossible(Icon.class, null);
 115         imageIconRenderer = installRendererIfPossible(ImageIcon.class, null);
 116         booleanRenderer = installRendererIfPossible(Boolean.class,
 117                                  new SynthBooleanTableCellRenderer());
 118         objectRenderer = installRendererIfPossible(Object.class,
 119                                         new SynthTableCellRenderer());
 120         updateStyle(table);
 121     }
 122 
 123     private TableCellRenderer installRendererIfPossible(Class<?> objectClass,
 124                                      TableCellRenderer renderer) {
 125         TableCellRenderer currentRenderer = table.getDefaultRenderer(
 126                                  objectClass);
 127         if (currentRenderer instanceof UIResource) {
 128             table.setDefaultRenderer(objectClass, renderer);
 129         }
 130         return currentRenderer;
 131     }
 132 
 133     private void updateStyle(JTable c) {
 134         SynthContext context = getContext(c, ENABLED);
 135         SynthStyle oldStyle = style;
 136         style = SynthLookAndFeel.updateStyle(context, this);
 137         if (style != oldStyle) {
 138             context.setComponentState(ENABLED | SELECTED);
 139 
 140             Color sbg = table.getSelectionBackground();
 141             if (sbg == null || sbg instanceof UIResource) {
 142                 table.setSelectionBackground(style.getColor(
 143                                         context, ColorType.TEXT_BACKGROUND));


 775                   JTable table, Object value, boolean isSelected,
 776                   boolean hasFocus, int row, int column) {
 777             if (!useTableColors && (isSelected || hasFocus)) {
 778                 SynthLookAndFeel.setSelectedUI((SynthLabelUI)SynthLookAndFeel.
 779                              getUIOfType(getUI(), SynthLabelUI.class),
 780                                    isSelected, hasFocus, table.isEnabled(), false);
 781             }
 782             else {
 783                 SynthLookAndFeel.resetSelectedUI();
 784             }
 785             super.getTableCellRendererComponent(table, value, isSelected,
 786                                                 hasFocus, row, column);
 787 
 788             setIcon(null);
 789             if (table != null) {
 790                 configureValue(value, table.getColumnClass(column));
 791             }
 792             return this;
 793         }
 794 
 795         private void configureValue(Object value, Class<?> columnClass) {
 796             if (columnClass == Object.class || columnClass == null) {
 797                 setHorizontalAlignment(JLabel.LEADING);
 798             } else if (columnClass == Float.class || columnClass == Double.class) {
 799                 if (numberFormat == null) {
 800                     numberFormat = NumberFormat.getInstance();
 801                 }
 802                 setHorizontalAlignment(JLabel.TRAILING);
 803                 setText((value == null) ? "" : ((NumberFormat)numberFormat).format(value));
 804             }
 805             else if (columnClass == Number.class) {
 806                 setHorizontalAlignment(JLabel.TRAILING);
 807                 // Super will have set value.
 808             }
 809             else if (columnClass == Icon.class || columnClass == ImageIcon.class) {
 810                 setHorizontalAlignment(JLabel.CENTER);
 811                 setIcon((value instanceof Icon) ? (Icon)value : null);
 812                 setText("");
 813             }
 814             else if (columnClass == Date.class) {
 815                 if (dateFormat == null) {