15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25 package sun.tools.jconsole.inspector;
26
27 import javax.swing.*;
28 import javax.swing.table.*;
29 import java.awt.*;
30 import java.io.*;
31
32 public abstract class XTable extends JTable {
33 static final int NAME_COLUMN = 0;
34 static final int VALUE_COLUMN = 1;
35 private Color defaultColor, editableColor, droppableColor, errorColor;
36 private Font normalFont, boldFont;
37
38 public XTable () {
39 super();
40 TableSorter sorter;
41 setModel(sorter = new TableSorter());
42 sorter.addMouseListenerToHeaderInTable(this);
43 setRowSelectionAllowed(false);
44 setColumnSelectionAllowed(false);
45 setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);
46 }
47
48 Color getDefaultColor() {
49 return defaultColor;
50 }
51
52 Color getEditableColor() {
53 return editableColor;
54 }
55
107 return (isTableEditable() && isColumnEditable(col)
108 && isWritable(row));
109 }
110
111 //returns null, means no tool tip
112 public String getToolTip(int row, int column) {
113 return null;
114 }
115
116 /**
117 * This method sets read write rows to be blue, and other rows to be their
118 * default rendered colour.
119 */
120 public TableCellRenderer getCellRenderer(int row, int column) {
121 DefaultTableCellRenderer tcr =
122 (DefaultTableCellRenderer) super.getCellRenderer(row,column);
123 tcr.setToolTipText(getToolTip(row,column));
124 if (defaultColor == null) {
125 defaultColor = tcr.getForeground();
126 editableColor = Color.blue;
127 droppableColor = Color.green;
128 errorColor = Color.red;
129 // this sometimes happens for some reason
130 if (defaultColor == null) {
131 return tcr;
132 }
133 }
134 if (column != VALUE_COLUMN) {
135 tcr.setForeground(defaultColor);
136 return tcr;
137 }
138 if (isCellError(row,column)) {
139 tcr.setForeground(errorColor);
140 } else if (isCellEditable(row, column)) {
141 tcr.setForeground(editableColor);
142 } else {
143 tcr.setForeground(defaultColor);
144 }
145 return tcr;
146 }
147
|
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25 package sun.tools.jconsole.inspector;
26
27 import javax.swing.*;
28 import javax.swing.table.*;
29 import java.awt.*;
30 import java.io.*;
31
32 public abstract class XTable extends JTable {
33 static final int NAME_COLUMN = 0;
34 static final int VALUE_COLUMN = 1;
35 private Color defaultColor, editableColor, errorColor;
36 private Font normalFont, boldFont;
37
38 public XTable () {
39 super();
40 TableSorter sorter;
41 setModel(sorter = new TableSorter());
42 sorter.addMouseListenerToHeaderInTable(this);
43 setRowSelectionAllowed(false);
44 setColumnSelectionAllowed(false);
45 setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);
46 }
47
48 Color getDefaultColor() {
49 return defaultColor;
50 }
51
52 Color getEditableColor() {
53 return editableColor;
54 }
55
107 return (isTableEditable() && isColumnEditable(col)
108 && isWritable(row));
109 }
110
111 //returns null, means no tool tip
112 public String getToolTip(int row, int column) {
113 return null;
114 }
115
116 /**
117 * This method sets read write rows to be blue, and other rows to be their
118 * default rendered colour.
119 */
120 public TableCellRenderer getCellRenderer(int row, int column) {
121 DefaultTableCellRenderer tcr =
122 (DefaultTableCellRenderer) super.getCellRenderer(row,column);
123 tcr.setToolTipText(getToolTip(row,column));
124 if (defaultColor == null) {
125 defaultColor = tcr.getForeground();
126 editableColor = Color.blue;
127 errorColor = Color.red;
128 // this sometimes happens for some reason
129 if (defaultColor == null) {
130 return tcr;
131 }
132 }
133 if (column != VALUE_COLUMN) {
134 tcr.setForeground(defaultColor);
135 return tcr;
136 }
137 if (isCellError(row,column)) {
138 tcr.setForeground(errorColor);
139 } else if (isCellEditable(row, column)) {
140 tcr.setForeground(editableColor);
141 } else {
142 tcr.setForeground(defaultColor);
143 }
144 return tcr;
145 }
146
|