j'ai une autre question.

j'essaye de réaliser un type de comme dans MSN qui choisi les emoticones.
J'aimerais l'avis de gens qui font du swing depuis plus longtemps que moi.
moi j'en fait depuis 3 mois.
J'ai en tete plusieurs facons de proceder

  • creer tout le composant moi meme en extendant JComponent. dans ce cas, je dois alors faire attention que le Look&Feel peut changer et jouer avec les . Je suis trop débutant en swing pour faire ca rapidement.
  • utiliser un que je transforme comme ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    class SmileyPicker extends JMenu {
        SmileyPicker( ... ) {
            super();
            JPopupMenu popup = getPopupMenu();
            popup.setLayout(new GridLayout(0,5));
            ....
        }
     
        override an add method or 
        provide a new one or
        directly load a list of smileys from file or ?
        add(String shortCut, Image smiley) {
             JSomething aComponent = new JSomething(smiley); // JButton or JLabel
             aComponent.setTooltip(shortCut);
             add(aComponent);
        }
    }
    Un problème avec ce code c'est que je vois pas comment je pourrai recuperer l'icone que j'ai cliqué. Je crois que rajouter sur chacun des aComponent du code précédant un .
  • creer un renderer pour un composant comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    class SmileyRenderer extends JPanel implements ListCellRenderer {
        SmileyRenderer(...) {
            load smileys (and shortcuts) from file and add them to the panel ?
            setLayout(new GridLayout(0, 5));
            for each smiley in a Map
                add(that smiley to the panel) 
        }
     
        public Component getListCellRendererComponent(JList list ....) {
             return this;
        }
    }
    Un problème avec ce code serait que j'afficherais plusieurs image quand le combobox n'est pas ouvert.



Quelqu'un a déja fais un composant comme celui la?
Quelqu'un a une autre idée que mes 3 idées?
J'aimerais bien l'avis de vous autre pour voir si ce sont de bonne maniere de travailler, s'il vous plait.

J'ai pas écrit en SMS, j'ai utiliser les . Ca sert a rien de me repeter encore 3 fois que j'ai fais des fautes. Je suis informaticien et pas un poête.