Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3215 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Loc aliser un tooltip

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Loc aliser un tooltip

n°707775
amauryxiv
Posté le 24-04-2004 à 17:17:20  profilanswer
 

Salut a tous. J'essaie d'utiliser des tooltips sur une JList. Des fois les items de ma liste sont rop long pour apparaitre completement. Je veux donc mettre un tooltip pour faire apparaitre netierement le contenu de l'item. Mais je veux aussi que le tooltip apparaisse en lieu et place de l'item (de son renderer).
 
La doc de l'API dit que le place d'un tooltip est clalculee avec la methode getToolTipLocation(). J'ai donc surcharge cette methode sur mes renderers (auxquels sont asocies les tooltips) pour faire apparaitre le tooltip en lieu et place du renderer.
 
Le probleme, c'est que contrairement a ce que dit le doc, je constate que la methode getToolTipLocation() n'est jamais appelee avant que le tooltip n'apparaisse.
 
Je vous donne mon code, tout bete:
 

Code :
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import javax.swing.*;
  4. import java.util.Vector;
  5. public class ToolTipLocation extends JFrame {
  6.        public ToolTipLocation() {
  7.         JList list = new JList();
  8.         Vector data = new Vector(3);
  9.         data.add("choice 1" );
  10.         data.add("too long need a tooltip" );
  11.         data.add("choice 3" );
  12.         list.setCellRenderer(new MyCellRenderer));
  13.         list.setListData(data);
  14.         list.setPreferredSize(new Dimension(50, 100));
  15.         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  16.         this.getContentPane().setLayout(new FlowLayout());
  17.         this.getContentPane().add(list);
  18.         this.pack();
  19.         this.setVisible(true);
  20.     }
  21.     private class MyCellRenderer extends DefaultListCellRenderer {
  22.         public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {            JLabel component = (JLabel) super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
  23.              component.setToolTipText(component.getText());
  24.              return component;
  25.         }
  26.         public Point getToolTipLocation(MouseEvent e) {
  27.             System.out.println("Tooltip located" );
  28.             return new Point(0, 0);
  29.         }
  30.     }
  31.     public static void main(String[] args) {
  32.         new ToolTipLocation();
  33.     }
  34. }


 
 
Essayez le et dites moi ce que vous en pensez. Merci d'avance.


---------------
Amaury.
mood
Publicité
Posté le 24-04-2004 à 17:17:20  profilanswer
 

n°708617
veryfree
Posté le 26-04-2004 à 14:25:14  profilanswer
 

jscrollpane tu connais [:dawa] :
 
 
 this.getContentPane().add(new JScrollPane(list));
 
 
;)


Message édité par veryfree le 26-04-2004 à 17:17:13
n°708845
seabee
Posté le 26-04-2004 à 16:40:58  profilanswer
 

ça marche sur les JList?
Classieux.

n°708916
veryfree
Posté le 26-04-2004 à 17:17:32  profilanswer
 

seabee a écrit :

ça marche sur les JList?
Classieux.


 
ben oui , ca prend un component en argument


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Loc aliser un tooltip

 

Sujets relatifs
[html] afficher un tooltip associe a un texteJlist + tooltip
[HTML] tooltip sur un lien htmlGtk Tooltip
Plus de sujets relatifs à : Loc aliser un tooltip


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)