Bonjour ;

Je rencontre un problème avec l'utilisation des JList.
Le texte de mes tooltip étant stocké dans un fichier .txt, j'ai redéfini la methode getTooltipText() de ma classe JList.
Tout fonctionnait à merveille, jusqu'à ce que je change le Layout Manager en BorderLayout.
Depuis, lorsque je passe mon curseur au dessus de ma JList sans être sur un objet, il m'affiche le tooltip de la dernière entrée de ma JList.

Voici le code de la methode gtTooltipText() :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
public String getToolTipText(MouseEvent event) {
        int index = this.locationToIndex(event.getPoint());
        File item = (File) this.getModel().getElementAt(index);
        InputStreamReader isr;
        LineNumberReader lnr;
        String myLine;
        /*ouverture du fichier, 
        /*lecture des lignes, 
        /*le tout dans la variable all*/
        return all;
}
Un petit sysout(index) m'a permis de constater que si mon curseur n'est pas au dessus d'un élément de ma JList, il prend par défaut le dernier.

Mon interface s'organise comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
private JPanel mainPanel = new JPanel(new BorderLayout());
private JPanel pluginPanel = new JPanel(new BorderLayout());
private JListWithTooltips pluginsView = new JListWithTooltips(montableau);
pluginPanel.add(pluginsView, BorderLayout.center);
mainPanel.add(pluginPanel, BorderLayout.east);
Merci d'avoir lu jusque là

Une idée ?


Cordialement ;

Arpheus