svn-gvsig-desktop / tags / v1_1_Build_1007 / applications / appgvSIG / src / com / iver / cit / gvsig / gui / command / ColorRenderer.java @ 12478
History | View | Annotate | Download (1.72 KB)
1 |
package com.iver.cit.gvsig.gui.command; |
---|---|
2 |
import java.awt.Color; |
3 |
import java.awt.Component; |
4 |
|
5 |
import javax.swing.BorderFactory; |
6 |
import javax.swing.JLabel; |
7 |
import javax.swing.JTable; |
8 |
import javax.swing.border.Border; |
9 |
import javax.swing.table.TableCellRenderer; |
10 |
|
11 |
public class ColorRenderer extends JLabel |
12 |
implements TableCellRenderer { |
13 |
Border unselectedBorder = null; |
14 |
Border selectedBorder = null; |
15 |
boolean isBordered = true; |
16 |
|
17 |
public ColorRenderer(boolean isBordered) { |
18 |
this.isBordered = isBordered;
|
19 |
setOpaque(true); //MUST do this for background to show up. |
20 |
} |
21 |
|
22 |
public Component getTableCellRendererComponent( |
23 |
JTable table, Object color, |
24 |
boolean isSelected, boolean hasFocus, |
25 |
int row, int column) { |
26 |
Color newColor = (Color)color; |
27 |
setBackground(newColor); |
28 |
if (isBordered) {
|
29 |
if (isSelected) {
|
30 |
if (selectedBorder == null) { |
31 |
selectedBorder = BorderFactory.createMatteBorder(2,5,2,5, |
32 |
table.getSelectionBackground()); |
33 |
} |
34 |
setBorder(selectedBorder); |
35 |
} else {
|
36 |
if (unselectedBorder == null) { |
37 |
unselectedBorder = BorderFactory.createMatteBorder(2,5,2,5, |
38 |
table.getBackground()); |
39 |
} |
40 |
setBorder(unselectedBorder); |
41 |
} |
42 |
} |
43 |
|
44 |
setToolTipText("RGB value: " + newColor.getRed() + ", " |
45 |
+ newColor.getGreen() + ", "
|
46 |
+ newColor.getBlue()); |
47 |
return this; |
48 |
} |
49 |
} |