46 |
|
|
47 |
import javax.swing.CellRendererPane; |
import javax.swing.CellRendererPane; |
48 |
import javax.swing.JComponent; |
import javax.swing.JComponent; |
49 |
import javax.swing.UIDefaults; |
import javax.swing.LookAndFeel; |
50 |
import javax.swing.UIManager; |
import javax.swing.UIManager; |
51 |
import javax.swing.border.Border; |
import javax.swing.border.Border; |
52 |
import javax.swing.event.MouseInputListener; |
import javax.swing.event.MouseInputListener; |
57 |
import javax.swing.table.TableColumn; |
import javax.swing.table.TableColumn; |
58 |
import javax.swing.table.TableColumnModel; |
import javax.swing.table.TableColumnModel; |
59 |
|
|
60 |
public class BasicTableHeaderUI |
public class BasicTableHeaderUI extends TableHeaderUI |
|
extends TableHeaderUI |
|
61 |
{ |
{ |
62 |
|
|
63 |
public static ComponentUI createUI(JComponent h) |
public static ComponentUI createUI(JComponent h) |
70 |
protected CellRendererPane rendererPane; |
protected CellRendererPane rendererPane; |
71 |
protected Border cellBorder; |
protected Border cellBorder; |
72 |
|
|
73 |
class MouseInputHandler |
public class MouseInputHandler implements MouseInputListener |
|
implements MouseInputListener |
|
74 |
{ |
{ |
75 |
public void mouseClicked(MouseEvent e) {} |
public void mouseClicked(MouseEvent e) |
76 |
public void mouseDragged(MouseEvent e) {} |
{ |
77 |
public void mouseEntered(MouseEvent e) {} |
// TODO: Implement this properly. |
78 |
public void mouseExited(MouseEvent e) {} |
} |
79 |
public void mouseMoved(MouseEvent e) {} |
|
80 |
public void mousePressed(MouseEvent e) {} |
public void mouseDragged(MouseEvent e) |
81 |
public void mouseReleased(MouseEvent e) {} |
{ |
82 |
|
// TODO: Implement this properly. |
83 |
|
} |
84 |
|
|
85 |
|
public void mouseEntered(MouseEvent e) |
86 |
|
{ |
87 |
|
// TODO: Implement this properly. |
88 |
|
} |
89 |
|
|
90 |
|
public void mouseExited(MouseEvent e) |
91 |
|
{ |
92 |
|
// TODO: Implement this properly. |
93 |
|
} |
94 |
|
|
95 |
|
public void mouseMoved(MouseEvent e) |
96 |
|
{ |
97 |
|
// TODO: Implement this properly. |
98 |
|
} |
99 |
|
|
100 |
|
public void mousePressed(MouseEvent e) |
101 |
|
{ |
102 |
|
// TODO: Implement this properly. |
103 |
|
} |
104 |
|
|
105 |
|
public void mouseReleased(MouseEvent e) |
106 |
|
{ |
107 |
|
// TODO: Implement this properly. |
108 |
|
} |
109 |
} |
} |
110 |
|
|
111 |
protected MouseInputListener createMouseInputListener() |
protected MouseInputListener createMouseInputListener() |
120 |
|
|
121 |
protected void installDefaults() |
protected void installDefaults() |
122 |
{ |
{ |
123 |
UIDefaults defaults = UIManager.getLookAndFeelDefaults(); |
LookAndFeel.installColorsAndFont(header, "TableHeader.background", |
124 |
header.setBackground(defaults.getColor("TableHeader.background")); |
"TableHeader.foreground", |
125 |
header.setForeground(defaults.getColor("TableHeader.foreground")); |
"TableHeader.font"); |
126 |
header.setFont(defaults.getFont("TableHeader.font")); |
cellBorder = UIManager.getBorder("TableHeader.cellBorder"); |
|
cellBorder = defaults.getBorder("TableHeader.cellBorder"); |
|
127 |
} |
} |
128 |
|
|
129 |
protected void installKeyboardActions() |
protected void installKeyboardActions() |
130 |
{ |
{ |
131 |
|
// TODO: Implement this properly. |
132 |
} |
} |
133 |
|
|
134 |
protected void installListeners() |
protected void installListeners() |
153 |
|
|
154 |
protected void uninstallKeyboardActions() |
protected void uninstallKeyboardActions() |
155 |
{ |
{ |
156 |
|
// TODO: Implement this properly. |
157 |
} |
} |
158 |
|
|
159 |
protected void uninstallListeners() |
protected void uninstallListeners() |
183 |
Rectangle bounds = header.getHeaderRect(i); |
Rectangle bounds = header.getHeaderRect(i); |
184 |
if (bounds.intersects(clip)) |
if (bounds.intersects(clip)) |
185 |
{ |
{ |
186 |
|
Rectangle oldClip = gfx.getClipBounds(); |
187 |
TableColumn col = cmod.getColumn(i); |
TableColumn col = cmod.getColumn(i); |
188 |
TableCellRenderer rend = col.getHeaderRenderer(); |
TableCellRenderer rend = col.getHeaderRenderer(); |
189 |
if (rend == null) |
if (rend == null) |
200 |
if (comp instanceof JComponent) |
if (comp instanceof JComponent) |
201 |
((JComponent)comp).setBorder(cellBorder); |
((JComponent)comp).setBorder(cellBorder); |
202 |
gfx.translate(bounds.x, bounds.y); |
gfx.translate(bounds.x, bounds.y); |
203 |
|
gfx.setClip(0, 0, bounds.width, bounds.height); |
204 |
comp.setSize(bounds.width, bounds.height); |
comp.setSize(bounds.width, bounds.height); |
205 |
comp.setLocation(0,0); |
comp.setLocation(0,0); |
206 |
comp.paint(gfx); |
comp.paint(gfx); |
207 |
gfx.translate(-bounds.x, -bounds.y); |
gfx.translate(-bounds.x, -bounds.y); |
208 |
|
gfx.setClip(oldClip); |
209 |
} |
} |
210 |
} |
} |
211 |
|
|