salut tous,
j'ai un jcombobox qui est remplis par des donnees en arabe(de droite a gauche) donc je veut que l'orientation soit de R_TO_L.
merci pour le help
salut tous,
j'ai un jcombobox qui est remplis par des donnees en arabe(de droite a gauche) donc je veut que l'orientation soit de R_TO_L.
merci pour le help
C'est a dire ? Tu veux que le texte s'affiche de gauche<-droite (ce qui devrait etre le cas par defaut avec de l'arabe) ? ou que la fleche de la combo soit sur la gauche ?
- dans le premier cas, ca devrait normalement etre le cas par defaut, les renderer de texte Java etant capables de detecter le texte s'affichant de gauche<-droite ou bidirectionnel (ex : melange de romain et d'arabe). Si ce n'est pas le cas, essaie de mettre la Locale de la combo box a une langue arabe (lang_ar je crois, en general pas besoin de specifier un code de pays) ou de modifier son ListCellRenderer (idem en specifiant/forcant la Locale).
- pour le second cas, n'ayant jamais vu d'interface graphique en arabe, hebreu ou l'une des autre langues s'ecrivant gauche<-droite, j'ignore s'il est de convention (ex : GUI design guidelines) de mettre la fleche de la combo de l'autre cote du composant ou s'il reste du meme cote que dans les langues s'ecrivant de gauche->droite. Essaie quand meme en modifiant la Locale du composant, on ne sait jamais.
Voir :
java.awt.ComponentOrientation
java.util.Locale
Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
merci bouye,
Dans mon cas j'ai reussit a mettre le fleche de l'autre cote de la combobox mais je veut que les donnees dans le combox soient aligner à droite.
avec ce message il y a une image de ce combox que je reuissit a faire.
Salut,
Est-ce que tu pourrais poster le code où tu remplis ta ComboBox?
Pas de questions technique par MP, les forums sont là pour ça.
Bizarre, l'un aurai du se faire avec l'autre. Si tu redefini ton propre ListCellRenderer en utilisant DefaultListCellRenderer (qui herite de JLabel) tu devrais pouvoir specifier l'alignement a droite ou a gauche du texte.
Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
merci pour vous de me rependre, mais le probleme que j'utilise jdeveloper10g et il remplit automatiquement le combobox de puis la base de donnees.Envoyé par bouye
Si tu as une reference sur la combo, tu peux manuellement changer le ListCellRenderer par un tien customise qui teste l'affichage avec un alignement a droite.
La valeur par defaut de l'alignement horizontal n'est ni RIGHT, ni LEFT. C'est LEADING qui est sense s'adapter a la Locale active. Donc si la Locale du composant n'est pas mis a une langue arabe, il est normal que l'alignement se fasse a gauche si la Locale par defaut (celle du systeme) est le francais par exemple.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 combo.setRenderer(new DefaultListCellRenderer() { /** {@ineheritDoc} */ @Override public void getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); setHorizontalAlignment(RIGHT); //voir commentaires plus bas. return this; } });
A voir egalement s'il s'avere necessaire de modifier l'editor (pour quand le menu deroulant n'est pas deplie).
Dans la mesure du possible essaie cependant juste en modifiant la Locale de la combo avant de faire des modifications lourdes. Si ca se trouve tout fonctionnera bien du premier coup.
Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
Envoyé par bouye
Merci Bouye,
tu m'as aider beaucoup.
c'est la bonne solution mais avec un seul changement.
on doit changer le type de retour de la fonction "getListCellRendererComponent" vers le type Component au lieu de "void".
merci une autre fois
donc la solution est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 jComboBox1.setRenderer(new DefaultListCellRenderer() { /** {@ineheritDoc} */ @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); setHorizontalAlignment(RIGHT); //voir commentaires plus bas. return this; } });
Oui désolé, j'ai tapé ca un peu vite .
Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager