Author: echatellier
Date: 2010-03-11 16:13:06 +0100 (Thu, 11 Mar 2010)
New Revision: 399
Log:
Update persistent toolip display (need to be fixed for trees and tables)
Added:
testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/tooltip/BalloonPopupFactory.java
testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/tree/BasicTreeRenderer.java
Modified:
testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/MainPanel.java
testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/resources/MyApplication.properties
testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/table/BasicTableModel.java
testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/table/BasicTableRenderer.java
testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/tree/BasicTreeModel.java
testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/tree/FilterTreeModel.java
Modified: testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/MainPanel.java
===================================================================
--- testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/MainPanel.java 2010-03-08 19:03:09 UTC (rev 398)
+++ testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/MainPanel.java 2010-03-11 15:13:06 UTC (rev 399)
@@ -18,12 +18,9 @@
package org.nuiton.test;
import java.awt.BorderLayout;
-import java.awt.Color;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
import java.io.File;
import java.io.IOException;
@@ -33,19 +30,16 @@
import javax.swing.JSplitPane;
import javax.swing.JTable;
import javax.swing.JTextField;
-import javax.swing.JToolTip;
-import javax.swing.JTree;
+import javax.swing.PopupFactory;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
-import net.java.balloontip.BalloonTip;
-import net.java.balloontip.styles.RoundedBalloonStyle;
-import net.java.balloontip.utils.ToolTipUtils;
-
+import org.jdesktop.swingx.JXTree;
import org.nuiton.test.table.BasicTableModel;
import org.nuiton.test.table.BasicTableRenderer;
-import org.nuiton.test.tooltip.ViewTooltips;
+import org.nuiton.test.tooltip.BalloonPopupFactory;
import org.nuiton.test.tree.BasicTreeModel;
+import org.nuiton.test.tree.BasicTreeRenderer;
import org.nuiton.test.tree.FilterTreeModel;
import org.nuiton.test.tree.MyFilter;
import org.slf4j.Logger;
@@ -75,6 +69,8 @@
super(new BorderLayout());
+ PopupFactory.setSharedInstance(new BalloonPopupFactory());
+
// label filter
JPanel leftPanel = new JPanel(new GridBagLayout());
JLabel filterLabel = new JLabel("Filtre : ");
@@ -95,7 +91,8 @@
.getCanonicalFile());
filterModel = new FilterTreeModel(treeModel, new MyFilter(""));
- JTree tree = new JTree(filterModel);
+ JXTree tree = new JXTree(filterModel);
+ tree.setCellRenderer(new BasicTreeRenderer());
tree.setName("tree");
leftPanel.add(new JScrollPane(tree), new GridBagConstraints(0, 1, 2, 1,
1, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH,
@@ -108,57 +105,17 @@
JPanel rigthPanel = new JPanel(new GridBagLayout());
// label tootip
- JLabel testToottip = new JLabel("Over me !!!!!") {
- @Override
- public JToolTip createToolTip() {
- JToolTip tt = new JToolTip();
- /*BalloonTip bt = new BalloonTip(this, this.getToolTipText(), new RoundedBalloonStyle(5,5,Color.WHITE, Color.BLACK), false);
- bt.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseClicked(MouseEvent e) {
-
- BalloonTip source = (BalloonTip)e.getSource();
- source.closeBalloon();
-
- BalloonTip bt = new BalloonTip(source, source.getToolTipText(), new RoundedBalloonStyle(5,5,Color.WHITE, Color.BLACK), true);
- bt.setVisible(true);
- }
-
- });
- //ToolTipUtils.balloonToToolTip(bt, 500, 3000);
- tt.setComponent(this);*/
- return tt;
- }
- };
- testToottip.setToolTipText("Alors ?");
+ JLabel testToottip = new JLabel("Over me !!!!!");
+ testToottip.setToolTipText("Then click on Me !!!");
- BalloonTip bt = new BalloonTip(testToottip, testToottip
- .getToolTipText(), new RoundedBalloonStyle(5, 5, Color.WHITE,
- Color.BLACK), false);
- bt.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseClicked(MouseEvent e) {
- logger.debug("Called");
- BalloonTip source = (BalloonTip) e.getSource();
- source.setVisible(false);
- source.setEnabled(false);
- BalloonTip bt = new BalloonTip(
- source.getAttachedComponent(),
- source.getAttachedComponent().getToolTipText(),
- new RoundedBalloonStyle(5, 5, Color.WHITE, Color.BLACK),
- true);
- bt.setVisible(true);
- }
- });
- ToolTipUtils.balloonToToolTip(bt, 500, 3000);
rigthPanel.add(testToottip, new GridBagConstraints(0, 0, 1, 1, 1, 0,
GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(
2, 2, 2, 2), 0, 0));
// table
try {
- BasicTableModel tableModel = new BasicTableModel(new File(".")
- .getCanonicalFile());
+ BasicTableModel tableModel = new BasicTableModel(new File(".").
+ getCanonicalFile().getParentFile());
JTable table = new JTable(tableModel);
table.setDefaultRenderer(String.class, new BasicTableRenderer());
@@ -169,6 +126,8 @@
DataTipManager.get().register(table);
//ViewTooltips.register(table);
+
+ //table.addMouseMotionListener(new TableTooltipListener());
} catch (IOException e1) {
e1.printStackTrace();
}
@@ -178,6 +137,16 @@
JSplitPane pane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, leftPanel, rigthPanel);
pane.setName("mainViewPane");
+ // OR
+
+ /*Split modelRoot = new ColSplit(new RowSplit(new Leaf("left"), new Divider(), new Leaf("right")), new Divider(), new Leaf("bottom"));
+ MultiSplitLayout mpLayout = new MultiSplitLayout(modelRoot);
+ mpLayout.setDividerSize(2);
+ JXMultiSplitPane pane = new JXMultiSplitPane(mpLayout);
+ pane.add(leftPanel, "left");
+ pane.add(rigthPanel, "right");
+ pane.add(new JLabel("Test bottom"), "bottom");*/
+
add(pane, BorderLayout.CENTER);
}
Modified: testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/resources/MyApplication.properties
===================================================================
--- testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/resources/MyApplication.properties 2010-03-08 19:03:09 UTC (rev 398)
+++ testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/resources/MyApplication.properties 2010-03-11 15:13:06 UTC (rev 399)
@@ -2,3 +2,4 @@
Application.title = My frame title
Application.vendor = CodeLutin
Application.vendorId = codelutin
+Application.lookAndFeel = com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel
Modified: testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/table/BasicTableModel.java
===================================================================
--- testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/table/BasicTableModel.java 2010-03-08 19:03:09 UTC (rev 398)
+++ testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/table/BasicTableModel.java 2010-03-11 15:13:06 UTC (rev 399)
@@ -19,14 +19,10 @@
import java.io.File;
-import javax.swing.event.TreeModelListener;
import javax.swing.table.AbstractTableModel;
-import javax.swing.tree.TreeModel;
-import javax.swing.tree.TreePath;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.w3c.dom.views.AbstractView;
/**
* BasicTableModel
Modified: testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/table/BasicTableRenderer.java
===================================================================
--- testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/table/BasicTableRenderer.java 2010-03-08 19:03:09 UTC (rev 398)
+++ testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/table/BasicTableRenderer.java 2010-03-11 15:13:06 UTC (rev 399)
@@ -19,8 +19,6 @@
package org.nuiton.test.table;
import java.awt.Component;
-import java.awt.event.MouseEvent;
-import java.awt.event.MouseListener;
import javax.swing.JComponent;
import javax.swing.JTable;
@@ -35,8 +33,11 @@
* Last update : $Date$
* By : $Author$
*/
-public class BasicTableRenderer extends DefaultTableCellRenderer implements MouseListener {
+public class BasicTableRenderer extends DefaultTableCellRenderer {
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 6448391469600567754L;
+
/*
* @see javax.swing.table.TableCellRenderer#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)
*/
@@ -46,77 +47,8 @@
JComponent c = (JComponent)super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
- /*JLabel b = new JLabel(value.toString()) {
- @Override
- public JToolTip createToolTip() {
- JToolTip tt = super.createToolTip();
-
- //TablecellBalloonTip tip = new TablecellBalloonTip(table, "etst", row, column, new RoundedBalloonStyle(5,5
- // , Color.WHITE, Color.BLACK), Orientation.RIGHT_ABOVE, AttachLocation.ALIGNED, 5, 5, true);
- BalloonTip bt = new BalloonTip(this, this.getToolTipText(), new RoundedBalloonStyle(5,5,Color.WHITE, Color.BLACK), false);
- /*bt.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseClicked(MouseEvent e) {
-
- BalloonTip source = (BalloonTip)e.getSource();
- source.closeBalloon();
-
- BalloonTip bt = new BalloonTip(source, source.getToolTipText(), new RoundedBalloonStyle(5,5,Color.WHITE, Color.BLACK), true);
- bt.setVisible(true);
- }
-
- });
- ToolTipUtils.balloonToToolTip(bt, 500, 3000);
- tt.setComponent(bt);
-
- return tt;
- }
- };
- b.setToolTipText("Tooltip = " + value.toString());*/
+ c.setToolTipText("<html><body>Un test de texte Enorme, avec du <b>gras</b>, des saut<br />de lignes, etc...<p>un nouveau paragraphe...</p><p>et le contenu réel : " + value + "</p></body></html>");
- this.addMouseListener(new BasicTableRenderer());
-
return this;
}
-
- /*
- * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
- */
- @Override
- public void mouseClicked(MouseEvent e) {
- System.out.println("mouseClicked");
- }
-
- /*
- * @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent)
- */
- @Override
- public void mousePressed(MouseEvent e) {
- System.out.println("mousePressed");
- }
-
- /*
- * @see java.awt.event.MouseListener#mouseReleased(java.awt.event.MouseEvent)
- */
- @Override
- public void mouseReleased(MouseEvent e) {
- System.out.println("mouseReleased");
- }
-
- /*
- * @see java.awt.event.MouseListener#mouseEntered(java.awt.event.MouseEvent)
- */
- @Override
- public void mouseEntered(MouseEvent e) {
- System.out.println("mouseEntered");
- }
-
- /*
- * @see java.awt.event.MouseListener#mouseExited(java.awt.event.MouseEvent)
- */
- @Override
- public void mouseExited(MouseEvent e) {
- System.out.println("mouseExited");
- }
-
}
Added: testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/tooltip/BalloonPopupFactory.java
===================================================================
--- testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/tooltip/BalloonPopupFactory.java (rev 0)
+++ testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/tooltip/BalloonPopupFactory.java 2010-03-11 15:13:06 UTC (rev 399)
@@ -0,0 +1,273 @@
+/* *##%
+ * Copyright (C) 2010 Code Lutin, Chatellier Eric
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+package org.nuiton.test.tooltip;
+
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.MouseInfo;
+import java.awt.Point;
+import java.awt.PointerInfo;
+import java.awt.Rectangle;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.awt.event.MouseMotionListener;
+
+import javax.swing.JComponent;
+import javax.swing.JLayeredPane;
+import javax.swing.JTable;
+import javax.swing.JToolTip;
+import javax.swing.JWindow;
+import javax.swing.Popup;
+import javax.swing.PopupFactory;
+import javax.swing.Timer;
+
+import net.java.balloontip.BalloonTip;
+import net.java.balloontip.TablecellBalloonTip;
+import net.java.balloontip.BalloonTip.AttachLocation;
+import net.java.balloontip.BalloonTip.Orientation;
+import net.java.balloontip.positioners.BalloonTipPositioner;
+import net.java.balloontip.styles.RoundedBalloonStyle;
+
+public class BalloonPopupFactory extends PopupFactory {
+
+ protected static BalloonTip bt;
+
+ @Override
+ public Popup getPopup(Component owner, Component contents, int x, int y)
+ throws IllegalArgumentException {
+ // A more complete implementation would cache and reuse
+ // popups
+ return new BalloonPopup(owner, contents, x, y);
+ }
+
+ private class BalloonPopup extends Popup implements MouseListener, MouseMotionListener {
+ protected JLayeredPane topLevelContainer = null; // The balloon is drawn on this pane
+ private JWindow popupWindow;
+ private boolean toFade = true;
+ private int currOpacity;
+ private Timer fadeInTimer;
+ private Timer fadeOutTimer;
+ private Component contents;
+ private Component owner;
+ private int ownerX, ownerY;
+
+
+ //Will need to keep track of the component... I only want JToolTips to behave in this strange way and combo-box drop-down lists and menus will be affected.
+
+ public BalloonPopup(Component owner, Component contents, int ownerX, int ownerY) {
+
+ /*Container parent = owner.getParent();
+ // Follow the path of parents of the attached component until you find the top level container
+ while (true) {
+ // If you're a top level container (JFrame, JDialog, JInternalFrame, JApplet or JWindow)
+ if (parent instanceof RootPaneContainer) {
+ topLevelContainer = ((RootPaneContainer)parent).getLayeredPane();
+ // Exit the infinite loop
+ break;
+ // If you're a tab
+ } else if (parent instanceof JTabbedPane) {
+
+ ((JTabbedPane)parent).addChangeListener(new ChangeListener() {
+ public void stateChanged(ChangeEvent e) {
+ //checkVisibility();
+ }
+ });
+ }
+ parent = parent.getParent();
+ }*/
+
+ /*// We use the popup layer of the top level container (frame or dialog) to show the balloon tip
+ topLevelContainer.add(contents, JLayeredPane.POPUP_LAYER);
+ // If the attached component is moved/hidden/shown, the balloon tip should act accordingly
+ owner.addComponentListener(this);
+ // If the window is resized, we should check if the balloon still fits
+ topLevelContainer.addComponentListener(this);
+ // Don't allow to click 'through' the component; will also enable to close the balloon when it's clicked
+ topLevelContainer.addMouseListener(this);*/
+
+ // create a new heavyweight window
+ //this.popupWindow = new JWindow();
+ this.contents = contents;
+ this.owner = owner;
+ this.ownerX = ownerX;
+ this.ownerY = ownerY;
+ // determine the popup location
+ //popupWindow.setLocation(ownerX, ownerY);
+ // add the contents to the popup
+ //popupWindow.getContentPane().add(contents, BorderLayout.CENTER);
+ //contents.invalidate();
+ //JComponent parent = (JComponent) contents.getParent();
+
+ //popupWindow.setAlwaysOnTop(true); //Since the main frame is set to always be on top, I need to set this on the popupWindow... or it will stay behind the frame.
+ }
+
+ @Override
+ public void show() {
+
+ /*// We use the popup layer of the top level container (frame or dialog) to show the balloon tip
+ topLevelContainer.add(new JLabel("Hoho"), JLayeredPane.POPUP_LAYER);
+ // If the attached component is moved/hidden/shown, the balloon tip should act accordingly
+ topLevelContainer.addComponentListener(this);
+ // If the window is resized, we should check if the balloon still fits
+ topLevelContainer.addComponentListener(this);
+ // Don't allow to click 'through' the component; will also enable to close the balloon when it's clicked
+ topLevelContainer.addMouseListener(this);
+
+ topLevelContainer.setVisible(true);*/
+
+ if (bt != null && bt.isVisible()) {
+ bt.closeBalloon();
+ }
+
+ JToolTip contentTooltip = (JToolTip)contents;
+ //JComponent cc = contentTooltip.getComponent();
+
+ if (contentTooltip.getComponent() instanceof JTable) {
+ JTable srcTable = (JTable)contentTooltip.getComponent();
+
+ //Point p = new Point(ownerX - (int)srcTable.getLocation().getX(), ownerY - (int)srcTable.getLocation().getY());
+
+ Point mouseLocation = MouseInfo.getPointerInfo().getLocation();
+ Point p = new Point((int)(mouseLocation.getX() - srcTable.getLocationOnScreen().getX()),
+ (int)(mouseLocation.getY() - srcTable.getLocationOnScreen().getY()));
+ int row = srcTable.rowAtPoint(p);
+ int column = srcTable.columnAtPoint(p);
+ if (row >= 0 && column >= 0 ) {
+ bt = new TablecellBalloonTip(srcTable, contentTooltip.getTipText(),
+ row, column, new RoundedBalloonStyle(5,5, Color.WHITE, Color.BLACK),
+ Orientation.LEFT_ABOVE, AttachLocation.CENTER, 0, 0, false);
+ //bt.setLocation(new Point((int)(ownerX - owner.getLocationOnScreen().getX()), (int)(ownerY - owner.getLocationOnScreen().getY())));
+ bt.addMouseListener(this);
+ }
+
+ }
+ else {
+ bt = new BalloonTip((JComponent)owner, contentTooltip.getTipText(),
+ new RoundedBalloonStyle(5,5, Color.WHITE, Color.BLACK), Orientation.LEFT_ABOVE, AttachLocation.ALIGNED, 5, 5, false);
+ //bt.setLocation(new Point((int)(ownerX - owner.getLocationOnScreen().getX()), (int)(ownerY - owner.getLocationOnScreen().getY())));
+
+ bt.addMouseListener(this);
+ }
+ }
+
+ @Override
+ public void hide() {
+
+ if (bt != null) {
+ fadeOutTimer = new Timer(500, new CloseBalloonTimer(bt));
+ fadeOutTimer.start();
+ }
+ }
+
+ class CloseBalloonTimer implements ActionListener {
+ public BalloonTip bt;
+
+ public CloseBalloonTimer(BalloonTip bt) {
+ this.bt = bt;
+ }
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ if (bt.isVisible()) {
+ bt.closeBalloon();
+ }
+ }
+ }
+
+ /*
+ * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
+ */
+ @Override
+ public void mouseClicked(MouseEvent e) {
+
+ /*BalloonTip btSource = (BalloonTip)e.getSource();
+ btSource.closeBalloon();
+ BalloonTip newBt = new BalloonTip((JComponent)owner, btSource.getText(),
+ new RoundedBalloonStyle(5,5, Color.WHITE, Color.BLACK), Orientation.LEFT_ABOVE, AttachLocation.ALIGNED, 0, 0, true);
+ newBt.addMouseMotionListener(this);*/
+
+ BalloonTip btSource = (BalloonTip)e.getSource();
+
+ BalloonTip newBt;
+ if (btSource.getAttachedComponent() instanceof JTable) {
+ JTable srcTable = (JTable)btSource.getAttachedComponent();
+
+ Point mouseLocation = MouseInfo.getPointerInfo().getLocation();
+ Point p = new Point((int)(mouseLocation.getX() - srcTable.getLocationOnScreen().getX()),
+ (int)(mouseLocation.getY() - srcTable.getLocationOnScreen().getY()));
+ int row = srcTable.rowAtPoint(p);
+ int column = srcTable.columnAtPoint(p);
+ if (row >= 0 && column >= 0 ) {
+ newBt = new TablecellBalloonTip(srcTable, btSource.getText(),
+ row, column, new RoundedBalloonStyle(5,5, Color.WHITE, Color.BLACK),
+ Orientation.LEFT_ABOVE, AttachLocation.ALIGNED, 0,
+ 0, true);
+ newBt.addMouseMotionListener(this);
+ newBt.setLocation(new Point(ownerX, ownerY));
+ }
+ }
+ else {
+ newBt = new BalloonTip((JComponent)owner, btSource.getText(),
+ new RoundedBalloonStyle(5,5, Color.WHITE, Color.BLACK), Orientation.LEFT_ABOVE, AttachLocation.ALIGNED, 5, 5, true);
+ newBt.addMouseMotionListener(this);
+ }
+ }
+
+ @Override
+ public void mousePressed(MouseEvent e) {}
+
+ @Override
+ public void mouseReleased(MouseEvent e) {}
+
+ @Override
+ public void mouseEntered(MouseEvent e) {}
+
+ @Override
+ public void mouseExited(MouseEvent e) {}
+
+ /*
+ * @see java.awt.event.MouseMotionListener#mouseDragged(java.awt.event.MouseEvent)
+ */
+ @Override
+ public void mouseDragged(MouseEvent e) {
+
+ BalloonTip btSource = (BalloonTip)e.getSource();
+ BalloonTipPositioner positioner = btSource.getPositioner();
+ //positioner.determineAndSetLocation(
+ // new Rectangle((int)e.getPoint().getX(), (int)e.getPoint().getY(),
+ // btSource.getAttachedComponent().getWidth(), btSource.getAttachedComponent().getHeight()));
+
+ //Component attachedComponent = btSource.getAttachedComponent();
+ positioner.determineAndSetLocation(
+ new Rectangle((int)btSource.getLocation().getX() + (int)e.getPoint().getX(),
+ (int)btSource.getLocation().getY() + (int)e.getPoint().getY(),
+ btSource.getAttachedComponent().getWidth(), btSource.getAttachedComponent().getHeight()));
+ }
+
+ /*
+ * @see java.awt.event.MouseMotionListener#mouseMoved(java.awt.event.MouseEvent)
+ */
+ @Override
+ public void mouseMoved(MouseEvent e) {
+
+ }
+ }
+}
Property changes on: testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/tooltip/BalloonPopupFactory.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/tree/BasicTreeModel.java
===================================================================
--- testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/tree/BasicTreeModel.java 2010-03-08 19:03:09 UTC (rev 398)
+++ testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/tree/BasicTreeModel.java 2010-03-11 15:13:06 UTC (rev 399)
@@ -114,6 +114,4 @@
// TODO Auto-generated method stub
}
-
-
}
Added: testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/tree/BasicTreeRenderer.java
===================================================================
--- testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/tree/BasicTreeRenderer.java (rev 0)
+++ testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/tree/BasicTreeRenderer.java 2010-03-11 15:13:06 UTC (rev 399)
@@ -0,0 +1,57 @@
+/* *##%
+ * Copyright (C) 2010 Code Lutin, Chatellier Eric
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+package org.nuiton.test.tree;
+
+import java.awt.Component;
+
+import javax.swing.JComponent;
+import javax.swing.JTree;
+import javax.swing.tree.DefaultTreeCellRenderer;
+
+/**
+ * TODO add comment here.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class BasicTreeRenderer extends DefaultTreeCellRenderer {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 6448391469600567754L;
+
+ /*
+ * @see javax.swing.table.TableCellRenderer#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)
+ */
+ @Override
+ public Component getTreeCellRendererComponent(JTree tree, Object value,
+ boolean isSelected,
+ boolean expanded,
+ boolean leaf, int row,
+ boolean hasFocus) {
+
+ JComponent c = (JComponent)super.getTreeCellRendererComponent(tree, value, isSelected, expanded, leaf, row, hasFocus);
+
+ c.setToolTipText("<html><body>Un test de texte Enorme, avec du <b>gras</b>, des saut<br />de lignes, etc...<p>un nouveau paragraphe...</p><p>et le contenu réel : " + value + "</p> (" + row + ")</body></html>");
+
+ return this;
+ }
+}
\ No newline at end of file
Property changes on: testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/tree/BasicTreeRenderer.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/tree/FilterTreeModel.java
===================================================================
--- testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/tree/FilterTreeModel.java 2010-03-08 19:03:09 UTC (rev 398)
+++ testTreeTooltipSession/trunk/src/main/java/org/nuiton/test/tree/FilterTreeModel.java 2010-03-11 15:13:06 UTC (rev 399)
@@ -18,9 +18,6 @@
package org.nuiton.test.tree;
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-
import javax.swing.event.TreeModelListener;
import javax.swing.tree.TreeModel;
import javax.swing.tree.TreePath;