32 import javax.swing.BorderFactory;
33 import javax.swing.JLabel;
34 import javax.swing.JList;
35 import javax.swing.ListCellRenderer;
36
37 import com.sun.javatest.TestFilter;
38 import com.sun.javatest.TestResult;
39 import com.sun.javatest.TestResultTable;
40 import com.sun.javatest.tool.I18NUtils;
41 import com.sun.javatest.util.I18NResourceBundle;
42
43 class RenderingUtilities {
44 static ListCellRenderer createTestListRenderer() {
45 return new TestCellRenderer(i18n);
46 }
47
48 static ListCellRenderer createTRTNodeRenderer() {
49 return new TestCellRenderer(i18n);
50 }
51
52 static ListCellRenderer createFilterListRenderer() {
53 return new FilterCellRenderer(i18n);
54 }
55
56 private static I18NResourceBundle i18n =
57 I18NResourceBundle.getBundleForClass(RenderingUtilities.class);
58 private static TestCellRenderer tlRend;
59 private static FilterCellRenderer flRend;
60
61 // --------- Inner classes -------
62
63 /**
64 * Render a list of tests (TestResult objects).
65 */
66 static class TestCellRenderer extends JLabel implements ListCellRenderer {
67 public TestCellRenderer(I18NResourceBundle i18n) {
68 setOpaque(false);
69 this.i18n = i18n;
70 }
71
72 public Component getListCellRendererComponent(JList list,
116 if (isSelected) {
117 setOpaque(true);
118 setBackground(list.getSelectionBackground());
119 setForeground(list.getSelectionForeground());
120 }
121 else {
122 setForeground(list.getForeground());
123 setOpaque(false);
124 }
125 }
126
127 private I18NResourceBundle i18n;
128 // border to pad left and right
129 private Border spacerBorder = BorderFactory.createEmptyBorder(0,3,0,3);
130 }
131
132 /**
133 * Render a list of test filters with their descriptive name.
134 * @see com.sun.javatest.TestFilter#getName()
135 */
136 static class FilterCellRenderer extends JLabel implements ListCellRenderer {
137 public FilterCellRenderer(I18NResourceBundle i18n) {
138 setOpaque(false);
139 this.i18n = i18n;
140 }
141
142 public Component getListCellRendererComponent(JList list,
143 Object value, int index, boolean isSelected, boolean cellHasFocus) {
144
145 String name = null;
146
147 TestFilter filter = (TestFilter)value;
148 name = filter.getName();
149
150 //setToolTipText(filter.getDescription());
151 if (name != null && name.length() > 0)
152 setText(name);
153 else
154 setText(i18n.getString("rendUtil.noFilterName"));
155
156 setColors(isSelected, list);
157 setFont(false);
158
159 return this;
160 }
161
162 private void setColors(boolean isSelected, JList list) {
163 if (isSelected) {
164 setOpaque(true);
165 setForeground(list.getSelectionForeground());
166 setBackground(list.getSelectionBackground());
167 }
|
32 import javax.swing.BorderFactory;
33 import javax.swing.JLabel;
34 import javax.swing.JList;
35 import javax.swing.ListCellRenderer;
36
37 import com.sun.javatest.TestFilter;
38 import com.sun.javatest.TestResult;
39 import com.sun.javatest.TestResultTable;
40 import com.sun.javatest.tool.I18NUtils;
41 import com.sun.javatest.util.I18NResourceBundle;
42
43 class RenderingUtilities {
44 static ListCellRenderer createTestListRenderer() {
45 return new TestCellRenderer(i18n);
46 }
47
48 static ListCellRenderer createTRTNodeRenderer() {
49 return new TestCellRenderer(i18n);
50 }
51
52 static ListCellRenderer<TestFilter> createFilterListRenderer() {
53 return new FilterCellRenderer(i18n);
54 }
55
56 private static I18NResourceBundle i18n =
57 I18NResourceBundle.getBundleForClass(RenderingUtilities.class);
58 private static TestCellRenderer tlRend;
59 private static FilterCellRenderer flRend;
60
61 // --------- Inner classes -------
62
63 /**
64 * Render a list of tests (TestResult objects).
65 */
66 static class TestCellRenderer extends JLabel implements ListCellRenderer {
67 public TestCellRenderer(I18NResourceBundle i18n) {
68 setOpaque(false);
69 this.i18n = i18n;
70 }
71
72 public Component getListCellRendererComponent(JList list,
116 if (isSelected) {
117 setOpaque(true);
118 setBackground(list.getSelectionBackground());
119 setForeground(list.getSelectionForeground());
120 }
121 else {
122 setForeground(list.getForeground());
123 setOpaque(false);
124 }
125 }
126
127 private I18NResourceBundle i18n;
128 // border to pad left and right
129 private Border spacerBorder = BorderFactory.createEmptyBorder(0,3,0,3);
130 }
131
132 /**
133 * Render a list of test filters with their descriptive name.
134 * @see com.sun.javatest.TestFilter#getName()
135 */
136 static class FilterCellRenderer extends JLabel implements ListCellRenderer<TestFilter> {
137 public FilterCellRenderer(I18NResourceBundle i18n) {
138 setOpaque(false);
139 this.i18n = i18n;
140 }
141
142 public Component getListCellRendererComponent(JList<? extends TestFilter> list,
143 TestFilter value, int index, boolean isSelected, boolean cellHasFocus) {
144
145 String name = null;
146
147 TestFilter filter = value;
148 name = filter.getName();
149
150 //setToolTipText(filter.getDescription());
151 if (name != null && name.length() > 0)
152 setText(name);
153 else
154 setText(i18n.getString("rendUtil.noFilterName"));
155
156 setColors(isSelected, list);
157 setFont(false);
158
159 return this;
160 }
161
162 private void setColors(boolean isSelected, JList list) {
163 if (isSelected) {
164 setOpaque(true);
165 setForeground(list.getSelectionForeground());
166 setBackground(list.getSelectionBackground());
167 }
|