3261N/A * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved. 0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 0N/A * This code is free software; you can redistribute it and/or modify it 0N/A * under the terms of the GNU General Public License version 2 only, as 2362N/A * published by the Free Software Foundation. Oracle designates this 0N/A * particular file as subject to the "Classpath" exception as provided 2362N/A * by Oracle in the LICENSE file that accompanied this code. 0N/A * This code is distributed in the hope that it will be useful, but WITHOUT 0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 0N/A * version 2 for more details (a copy is included in the LICENSE file that 0N/A * accompanied this code). 0N/A * You should have received a copy of the GNU General Public License version 0N/A * 2 along with this work; if not, write to the Free Software Foundation, 0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2362N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 2362N/A * or visit www.oracle.com if you need additional information or have any 1999N/A * Provides the Synth L&F UI delegate for 1999N/A * {@link javax.swing.JTable}. 0N/A * @author Philip Milne 0N/A// Instance Variables 0N/A // TableCellRenderer installed on the JTable at the time we're installed, 0N/A // cached so that we can reinstall them at uninstallUI time. 1999N/A * Creates a new UI object for the given component. 1999N/A * @param c component to create UI object for 1999N/A * Initializes JTable properties, such as font, foreground, and background. 0N/A * The font, foreground, and background properties are only set if their 0N/A * current value is either null or a UIResource, other properties are set 0N/A * if the current value is null. 0N/A "Table.rendererUseTableColors",
true);
0N/A "Table.rendererUseUIBorder",
true);
1173N/A// if (d == null || d instanceof UIResource) { 0N/A * Attaches listeners to the JTable. 0N/A// Paint methods and support 2146N/A * Notifies this UI delegate to repaint the specified component. 2146N/A * This method paints the component background, then calls 2146N/A * the {@link #paint(SynthContext,Graphics)} method. 2146N/A * <p>In general, this method does not need to be overridden by subclasses. 2146N/A * All Look and Feel rendering code should reside in the {@code paint} method. 2146N/A * @param g the {@code Graphics} object used for painting 2146N/A * @param c the component being painted 2146N/A * @see #paint(SynthContext,Graphics) 0N/A int y,
int w,
int h) {
2146N/A * Paints the specified component according to the Look and Feel. 2146N/A * <p>This method is not used by Synth Look and Feel. 2146N/A * Painting is handled by the {@link #paint(SynthContext,Graphics)} method. 2146N/A * @param g the {@code Graphics} object used for painting 2146N/A * @param c the component being painted 2146N/A * @see #paint(SynthContext,Graphics) 1999N/A * Paints the specified component. 1999N/A * @param context context for the component being painted 2146N/A * @param g the {@code Graphics} object used for painting 2146N/A * @see #update(Graphics,JComponent) 0N/A // account for the fact that the graphics has already been translated 0N/A // into the table's bounds 0N/A // this check prevents us from painting the entire table 0N/A // when the clip doesn't intersect our bounds at all 0N/A // This should never happen (as long as our bounds intersect the clip, 0N/A // which is why we bail above if that is the case). 0N/A // If the table does not have enough rows to fill the view we'll get -1. 0N/A // (We could also get -1 if our bounds don't intersect the clip, 0N/A // which is why we bail above if that is the case). 0N/A // Replace this with the index of the last row. 0N/A // This should never happen. 0N/A // If the table does not have enough columns to fill the view we'll get -1. 0N/A // Replace this with the index of the last column. 2379N/A // it is important to paint the grid after the cells, otherwise the grid will be overpainted 2379N/A // because in Synth cell renderers are likely to be opaque 0N/A * Paints the grid lines within <I>aRect</I>, using the grid 0N/A * color set with <I>setGridColor</I>. Paints vertical lines 0N/A * if <code>getShowVerticalLines()</code> returns true and paints 0N/A * horizontal lines if <code>getShowHorizontalLines()</code> 0N/A // Paint the dragged column if we are dragging. 0N/A // Remove any renderers that may be left in the rendererPane. 0N/A // Paint a gray well in place of the moving column. 0N/A // Move to the where the cell has been dragged. 0N/A // Fill the background. 0N/A // Paint the vertical grid lines if necessary. 0N/A // Render the cell value 0N/A // Paint the (lower) horizontal grid line if necessary. 0N/A return "Table.cellRenderer";
0N/A // Super will have set value.