File Source: ColourRenderer.java
/*
P/P * Method: com.dmdirc.addons.nickcolours.ColourRenderer__static_init
*/
1 /*
2 * Copyright (c) 2006-2009 Chris Smith, Shane Mc Cormack, Gregory Holmes
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy
5 * of this software and associated documentation files (the "Software"), to deal
6 * in the Software without restriction, including without limitation the rights
7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 * copies of the Software, and to permit persons to whom the Software is
9 * furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 * SOFTWARE.
21 */
22
23 package com.dmdirc.addons.nickcolours;
24
25 import com.dmdirc.ui.messages.ColourManager;
26
27 import java.awt.Color;
28 import java.awt.Component;
29 import javax.swing.JTable;
30 import javax.swing.border.LineBorder;
31 import javax.swing.table.DefaultTableCellRenderer;
32
33 /**
34 * Provides a colour renderer for JTables.
35 *
36 * @author Chris
37 */
38 public class ColourRenderer extends DefaultTableCellRenderer {
39
40 /**
41 * A version number for this class. It should be changed whenever the class
42 * structure is changed (or anything else that would prevent serialized
43 * objects being unserialized with the new class).
44 */
45 private static final long serialVersionUID = 1;
46
47 /**
48 * Creates a new instance of ColourRenderer.
49 */
50 public ColourRenderer() {
/*
P/P * Method: void com.dmdirc.addons.nickcolours.ColourRenderer()
*/
51 super();
52
53 setOpaque(true);
54 }
55
56 /** {@inheritDoc} */
57 @Override
58 public Component getTableCellRendererComponent(final JTable table,
59 final Object value, final boolean isSelected,
60 final boolean hasFocus, final int row, final int column) {
/*
P/P * Method: Component getTableCellRendererComponent(JTable, Object, bool, bool, int, int)
*
* Preconditions:
* (soft) table != null
*
* Presumptions:
* init'ed(java.awt.Color.BLACK)
* init'ed(java.awt.Color.GRAY)
*
* Postconditions:
* return_value == this
* return_value != null
*
* Test Vectors:
* value: Addr_Set{null}, Inverse{null}
* java.lang.String:isEmpty(...)@62: {1}, {0}
*/
61 Color colour = null;
62 if (value != null && !((String) value).isEmpty()) {
63 colour = ColourManager.parseColour((String) value, null);
64 }
65
66 setHorizontalAlignment(CENTER);
67
68 if (colour == null) {
69 setBorder(new LineBorder(Color.GRAY));
70 setText("Not Set");
71 setBackground(table.getBackground());
72 } else {
73 setBorder(new LineBorder(Color.BLACK));
74 setText("");
75 setBackground(colour);
76 }
77
78 return this;
79 }
80
81 }
SofCheck Inspector Build Version : 2.17854
| ColourRenderer.java |
2009-Jun-25 01:54:24 |
| ColourRenderer.class |
2009-Sep-02 17:04:15 |