1 /*
2 * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
199
200 /**
201 * {@inheritDoc}
202 */
203 @Override
204 protected void rolloverColumnUpdated(int oldColumn, int newColumn) {
205 header.repaint(header.getHeaderRect(oldColumn));
206 header.repaint(header.getHeaderRect(newColumn));
207 }
208
209 /**
210 * {@inheritDoc}
211 */
212 @Override
213 public void propertyChange(PropertyChangeEvent evt) {
214 if (SynthLookAndFeel.shouldUpdateStyle(evt)) {
215 updateStyle((JTableHeader)evt.getSource());
216 }
217 }
218
219 private class HeaderRenderer extends DefaultTableCellHeaderRenderer {
220 HeaderRenderer() {
221 setHorizontalAlignment(JLabel.LEADING);
222 setName("TableHeader.renderer");
223 }
224
225 @Override
226 public Component getTableCellRendererComponent(JTable table, Object value,
227 boolean isSelected,
228 boolean hasFocus,
229 int row, int column) {
230
231 boolean hasRollover = (column == getRolloverColumn());
232 if (isSelected || hasRollover || hasFocus) {
233 SynthLookAndFeel.setSelectedUI((SynthLabelUI)SynthLookAndFeel.
234 getUIOfType(getUI(), SynthLabelUI.class),
235 isSelected, hasFocus, table.isEnabled(),
236 hasRollover);
237 } else {
238 SynthLookAndFeel.resetSelectedUI();
|
1 /*
2 * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
199
200 /**
201 * {@inheritDoc}
202 */
203 @Override
204 protected void rolloverColumnUpdated(int oldColumn, int newColumn) {
205 header.repaint(header.getHeaderRect(oldColumn));
206 header.repaint(header.getHeaderRect(newColumn));
207 }
208
209 /**
210 * {@inheritDoc}
211 */
212 @Override
213 public void propertyChange(PropertyChangeEvent evt) {
214 if (SynthLookAndFeel.shouldUpdateStyle(evt)) {
215 updateStyle((JTableHeader)evt.getSource());
216 }
217 }
218
219 @SuppressWarnings("serial") // Superclass is not serializable across versions
220 private class HeaderRenderer extends DefaultTableCellHeaderRenderer {
221 HeaderRenderer() {
222 setHorizontalAlignment(JLabel.LEADING);
223 setName("TableHeader.renderer");
224 }
225
226 @Override
227 public Component getTableCellRendererComponent(JTable table, Object value,
228 boolean isSelected,
229 boolean hasFocus,
230 int row, int column) {
231
232 boolean hasRollover = (column == getRolloverColumn());
233 if (isSelected || hasRollover || hasFocus) {
234 SynthLookAndFeel.setSelectedUI((SynthLabelUI)SynthLookAndFeel.
235 getUIOfType(getUI(), SynthLabelUI.class),
236 isSelected, hasFocus, table.isEnabled(),
237 hasRollover);
238 } else {
239 SynthLookAndFeel.resetSelectedUI();
|