[Buix-commits] r1189 - in jaxx/trunk/jaxx-runtime-swing: . src/main/java/jaxx/runtime/swing
Author: tchemit Date: 2009-01-24 22:59:59 +0000 (Sat, 24 Jan 2009) New Revision: 1189 Modified: jaxx/trunk/jaxx-runtime-swing/changelog.txt jaxx/trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/I18nTableCellRenderer.java Log: improve I18nTableCellRenderer to display toolTipText Modified: jaxx/trunk/jaxx-runtime-swing/changelog.txt =================================================================== --- jaxx/trunk/jaxx-runtime-swing/changelog.txt 2009-01-24 21:09:49 UTC (rev 1188) +++ jaxx/trunk/jaxx-runtime-swing/changelog.txt 2009-01-24 22:59:59 UTC (rev 1189) @@ -1,5 +1,6 @@ 1.1 chemit 200901?? * 20090124 [chemit] - add a cache on context path to improve performance on NavigationTreeNode + - improve I18nTableCellRenderer to display toolTipText * 20090123 [chemit] - improve NavigationTreeNodeRenderer (now can customized node internalClass) * 20090121 [letellier] - add some usefull methods in JAXXList and JAXXComboBox Modified: jaxx/trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/I18nTableCellRenderer.java =================================================================== --- jaxx/trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/I18nTableCellRenderer.java 2009-01-24 21:09:49 UTC (rev 1188) +++ jaxx/trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/I18nTableCellRenderer.java 2009-01-24 22:59:59 UTC (rev 1189) @@ -2,6 +2,7 @@ import static org.codelutin.i18n.I18n._; +import javax.swing.JComponent; import javax.swing.JTable; import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumn; @@ -15,28 +16,41 @@ */ public class I18nTableCellRenderer implements TableCellRenderer { - /** the libelles to display */ + /** i18n keys of libelles to display */ protected final String[] keys; + /** i18n keys of toolTipTexts to display */ + protected final String[] tips; + /** the delegate cell renderer */ protected TableCellRenderer delegate; - public I18nTableCellRenderer(TableCellRenderer delegate, String... keys) { + public I18nTableCellRenderer(TableCellRenderer delegate, String... keysAndTips) { this.delegate = delegate; - this.keys = keys; + if (keysAndTips.length == 0) { + throw new IllegalArgumentException("can not have empty keysAndTips parameters (means no column ?)"); + } + if (keysAndTips.length % 2 == 0) { + throw new IllegalArgumentException("must have some couple (text,tooltTipText), but had a even number of data in keysAndTips parameter"); + } + int size = keysAndTips.length / 2; + this.keys = new String[size]; + this.tips = new String[size]; + for (int i = 0; i < size; i++) { + this.keys[i] = keysAndTips[2 * i]; + this.tips[i] = keysAndTips[2 * i + 1]; + } } public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasfocus, int row, int column) { if (column > keys.length) { throw new IndexOutOfBoundsException("colum can not be greater than " + keys.length); } - TableColumn col = table.getColumn(table.getColumnName(column)); - value = _(keys[col.getModelIndex()]); - return delegate.getTableCellRendererComponent(table, value, isSelected, hasfocus, row, column); - - /*JLabel rendererComponent = (JLabel) delegate.getTableCellRendererComponent(table, value, isSelected, hasfocus, row, column); - - rendererComponent.setText(_(keys[column])); - return rendererComponent;*/ + TableColumn col = table.getColumn(table.getColumnName(column)); + int index = col.getModelIndex(); + value = _(keys[index]); + JComponent rendererComponent = (JComponent) delegate.getTableCellRendererComponent(table, value, isSelected, hasfocus, row, column); + rendererComponent.setToolTipText(_(tips[index])); + return rendererComponent; } }
participants (1)
-
tchemit@users.labs.libre-entreprise.org