svn-gvsig-desktop / branches / v2_0_0_prep / applications / appgvSIG / src / com / iver / cit / gvsig / gui / command / ColorRenderer.java @ 25082
History | View | Annotate | Download (1.72 KB)
1 | 4120 | caballero | 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 | } |