Author: kmorin Date: 2013-03-14 17:53:48 +0100 (Thu, 14 Mar 2013) New Revision: 2623 Url: http://nuiton.org/projects/jaxx/repository/revisions/2623 Log: fixes #2595 DecoratorTableCellRenderer - add tooltiptext with the value of the cell Modified: trunk/jaxx-runtime/src/main/java/jaxx/runtime/swing/renderer/DecoratorTableCellRenderer.java Modified: trunk/jaxx-runtime/src/main/java/jaxx/runtime/swing/renderer/DecoratorTableCellRenderer.java =================================================================== --- trunk/jaxx-runtime/src/main/java/jaxx/runtime/swing/renderer/DecoratorTableCellRenderer.java 2013-03-14 15:01:13 UTC (rev 2622) +++ trunk/jaxx-runtime/src/main/java/jaxx/runtime/swing/renderer/DecoratorTableCellRenderer.java 2013-03-14 16:53:48 UTC (rev 2623) @@ -30,6 +30,7 @@ import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.TableCellRenderer; import java.awt.Component; +import javax.swing.JComponent; /** * A {@link TableCellRenderer} which compute text with the given {@link #decorator} @@ -46,20 +47,42 @@ /** Decorator to produce text to render */ protected Decorator<?> decorator; + protected boolean showToolTipText = false; + public DecoratorTableCellRenderer(Decorator<?> decorator) { - this(new DefaultTableCellRenderer(), decorator); + this(new DefaultTableCellRenderer(), decorator, false); } + public DecoratorTableCellRenderer(Decorator<?> decorator, boolean showToolTipText) { + this(new DefaultTableCellRenderer(), decorator, showToolTipText); + } + public DecoratorTableCellRenderer(TableCellRenderer delegate, Decorator<?> decorator) { + this(new DefaultTableCellRenderer(), decorator, false); + } + + public DecoratorTableCellRenderer(TableCellRenderer delegate, + Decorator<?> decorator, + boolean showToolTipText) { this.delegate = delegate; this.decorator = decorator; + this.showToolTipText = showToolTipText; } @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasfocus, int row, int column) { + String text = null; if (value != null) { - value = decorator.toString(value); + text = decorator.toString(value); } - return delegate.getTableCellRendererComponent(table, value, isSelected, hasfocus, row, column); + JComponent result = + (JComponent) delegate.getTableCellRendererComponent(table, + text, + isSelected, + hasfocus, + row, + column); + result.setToolTipText(text); + return result; } }