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

  FORUM HardWare.fr
  Programmation
  Java

  [Java/Swing] dropdown qui ne droppe pas QUE down ?

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

[Java/Swing] dropdown qui ne droppe pas QUE down ?

n°204767
--greg--
Posté le 29-08-2002 à 17:06:54  profilanswer
 

Yop,
 
Je voudrais faire une ComboBox, mais je voudrais que la liste, au lieu s'ouvre vers le bas, s'ouvre "au milieu", a l'endroit de l'élement selectionné actuellement.
(Au lieu de devoir descendre jusqu'en bas de la liste pour selectionner l'element suivant quand tu es deja sur l'avant dernier)
En gros, comme sur les dropdown des pages ouaibe des mac.
 
Possible?
(Independament d'un Look and Feel)
 
Si personne comprend je pourrais poster un chti dessin...
 


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
mood
Publicité
Posté le 29-08-2002 à 17:06:54  profilanswer
 

n°204776
bobuse
Posté le 29-08-2002 à 17:15:26  profilanswer
 

--greg-- a écrit a écrit :

Yop,
 
Je voudrais faire une ComboBox, mais je voudrais que la liste, au lieu s'ouvre vers le bas, s'ouvre "au milieu", a l'endroit de l'élement selectionné actuellement.
(Au lieu de devoir descendre jusqu'en bas de la liste pour selectionner l'element suivant quand tu es deja sur l'avant dernier)
En gros, comme sur les dropdown des pages ouaibe des mac.
 
Possible?
(Independament d'un Look and Feel)
 
Si personne comprend je pourrais poster un chti dessin...
 
 




tu voudrais que le popup s'affiche au dessus de la combo carément en fait, pour que l'élément dont tu parles soit sous la souris ?

n°204781
gfive
Posté le 29-08-2002 à 17:17:27  profilanswer
 

En AWT, on peut faire ça super facilement : tu met bête bouton, ou un textfield, et en cas de clic dessus, tu affiche un PopupMenu, à l'endroit qui va bien. (tu passes les coordonnées du menu par rapport à son parent à la méthode show(), donc, c'est tout con)
 
En Swing...je sais pas, mais en bidouillant avec les JPopupMenu, ça doit pas être sorcier.

n°204783
darklord
You're welcome
Posté le 29-08-2002 à 17:18:44  profilanswer
 

je l'avais dit que gfive ct l'expert :D


Message édité par darklord le 29-08-2002 à 17:18:54
n°204784
--greg--
Posté le 29-08-2002 à 17:18:48  profilanswer
 

ben disons que j'ai quelque chose dans le genre avec un JPopupMenu. L'ennui c'est que c'est pas "user friendly", car ça ne ressemble à rien qu'un user lambda à l'habitude de cliquer...
see what i mean?


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°204790
bobuse
Posté le 29-08-2002 à 17:23:43  profilanswer
 

--greg-- a écrit a écrit :

ben disons que j'ai quelque chose dans le genre avec un JPopupMenu. L'ennui c'est que c'est pas "user friendly", car ça ne ressemble à rien qu'un user lambda à l'habitude de cliquer...
see what i mean?




Et ben tu crées une JWindow undecorated avec un ScrollPane vertical et une JList dedans.
Ca pourrait le faire non ! [:bobuse]

n°204794
gfive
Posté le 29-08-2002 à 17:25:26  profilanswer
 

DarkLord a écrit a écrit :

je l'avais dit que gfive ct l'expert :D




Vilain flatteur! :D
 
Sinon, ouais, je conçois que ça ressemble à rien, mais bon, ton machin, là, j'en ai rarement vu la queue d'un, en fait! :D
 
Mais bon, si tu me fais un piti dessin, ou un screenshot d'un truc approchant qui existe, je regarderai ça : une sorte de défi, quoi! :p

n°204803
BifaceMcLe​OD
The HighGlandeur
Posté le 29-08-2002 à 17:29:42  profilanswer
 

--greg-- a écrit a écrit :

Yop,
 
Je voudrais faire une ComboBox, mais je voudrais que la liste, au lieu s'ouvre vers le bas, s'ouvre "au milieu", a l'endroit de l'élement selectionné actuellement.
(Au lieu de devoir descendre jusqu'en bas de la liste pour selectionner l'element suivant quand tu es deja sur l'avant dernier)
En gros, comme sur les dropdown des pages ouaibe des mac.
 
Possible?
(Independament d'un Look and Feel)
 
Si personne comprend je pourrais poster un chti dessin...




Ca ressemble à une DropDown classique mais avec un look&feel Motif, ça, si je ne me trompe pas...

n°204810
--greg--
Posté le 29-08-2002 à 17:34:57  profilanswer
 

BifaceMcLeOD a écrit a écrit :

 
Ca ressemble à une DropDown classique mais avec un look&feel Motif, ça, si je ne me trompe pas...



ou Mac...
edit: non en fait, pas du tout comme le l'n'f Motif.


Message édité par --greg-- le 29-08-2002 à 17:38:02

---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°204813
gfive
Posté le 29-08-2002 à 17:42:07  profilanswer
 

Ca fait super longtemps que je suis pas allé chez MacDo, mais bon, je savais pas qu'ils avaient mis des DropDown dans leurs sandouiches......A moins que vous parliez d'autre chose, en disant "Mac"?? :D

mood
Publicité
Posté le 29-08-2002 à 17:42:07  profilanswer
 

n°204814
--greg--
Posté le 29-08-2002 à 17:42:47  profilanswer
 

:o


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°204818
gfive
Posté le 29-08-2002 à 17:44:12  profilanswer
 

Bon, mais t'as un screenshot, histoire d'éduquer les masses non-macophiles???

n°204821
--greg--
Posté le 29-08-2002 à 17:48:19  profilanswer
 

gfive a écrit a écrit :

Bon, mais t'as un screenshot, histoire d'éduquer les masses non-macophiles???



je cherche, je cherche.


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°204893
--greg--
Posté le 29-08-2002 à 19:09:00  profilanswer
 

et voilà:
 
http://membres.lycos.fr/gggrrrreeeggg/dropdown_mac.jpg
 
on le voit pas bien mais en dessous y'a la boiboite :) on voit un petit bout, en gris/bleu. Ca suffit pour vous montrer ou se déroule la liste quoi.
 
Oki?


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°204895
darklord
You're welcome
Posté le 29-08-2002 à 19:10:33  profilanswer
 

ah punaise ct ca ...


---------------
Just because you feel good does not make you right
n°204896
--greg--
Posté le 29-08-2002 à 19:10:57  profilanswer
 

DarkLord a écrit a écrit :

ah punaise ct ca ...



[:leg9]


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°204898
darklord
You're welcome
Posté le 29-08-2002 à 19:22:08  profilanswer
 

--greg-- a écrit a écrit :

[:leg9]




 
 :na:


---------------
Just because you feel good does not make you right
n°204953
bobuse
Posté le 29-08-2002 à 20:59:25  profilanswer
 

Ben je pense donc que ma méthode est adaptée. Non ?

n°204959
--greg--
Posté le 29-08-2002 à 21:05:47  profilanswer
 

bobuse a écrit a écrit :

Ben je pense donc que ma méthode est adaptée. Non ?



ha, scuse j'avais pas vu
mais la window elle va avancer à quoi?


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°204964
bobuse
Posté le 29-08-2002 à 21:10:40  profilanswer
 

--greg-- a écrit a écrit :

ha, scuse j'avais pas vu
mais la window elle va avancer à quoi?




A faire ton popup

n°204976
--greg--
Posté le 29-08-2002 à 21:35:24  profilanswer
 

euh mais jveux pas ouvrir une nvlle fenetre hein...


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°205356
bobuse
Posté le 30-08-2002 à 09:29:31  profilanswer
 

ben non, mais une JWindow, tu peux la créer undecorated, ça te permet de faire un JPanel tout seul que t'en fais ce que tu veux après
Genre : (un composant que je m'étais cuisiné) http://perso.wanadoo.fr/duboud/batsim/images/IntChooser2.png  
Le curseur en dessous apparait au-dessus (à la même manière q'une combo) lorsque tu cliques sur le bouton qui est au-dessus.
 
spa clair ?
spa ske tuveux ?

n°205413
gfive
Posté le 30-08-2002 à 10:30:43  profilanswer
 

Ca te va, ça??
 
http://site.voila.fr/gfive/Select.jpg
 
 
Si oui, code là :  
 
 

Code :
  1. import javax.swing.*;
  2. import javax.swing.event.*;
  3. import java.awt.*;
  4. import java.awt.event.*;
  5. public class Select extends JTextField implements MouseListener, ActionListener {
  6.     private int index;
  7.     private int itemheight = -1;
  8.     private JPopupMenu menu;
  9.     public Select(int length) {
  10.         super(length);
  11.         setEditable(false);
  12.         addMouseListener(this);
  13.         menu = new JPopupMenu();
  14.     }
  15.     public void addItem(String item) {
  16.         JCheckBoxMenuItem jcbmi = new JCheckBoxMenuItem(item);
  17.         menu.add(jcbmi);
  18.         jcbmi.addActionListener(this);
  19.     }
  20.     public void select(String item) {
  21.         MenuElement[] me = menu.getSubElements();
  22.        
  23.         JCheckBoxMenuItem jcbmi;
  24.        
  25.         index = -1;
  26.         for (int i = 0; i < me.length; i++) {
  27.             jcbmi = (JCheckBoxMenuItem) me[i];
  28.             if (jcbmi.getText().equals(item)) {
  29.                 jcbmi.setState(true);
  30.                 index = i;
  31.                 System.out.println("Selecting "+item+" i = "+i);
  32.                 setText(item);
  33.             } else {
  34.                 jcbmi.setState(false);
  35.             }
  36.         }
  37.         repaint();
  38.     }
  39.     public void actionPerformed(ActionEvent e) {
  40.         select(((JCheckBoxMenuItem) e.getSource()).getText());
  41.     }
  42.     public void mouseClicked(MouseEvent e) {
  43.         MenuElement[] me = menu.getSubElements();
  44.         if (me.length > 0) {
  45.             if (itemheight <= 0) {
  46.                 JCheckBoxMenuItem jcbmi = (JCheckBoxMenuItem) me[0];
  47.                
  48.                 itemheight = jcbmi.getSize().height;
  49.             }
  50.            
  51.             int y = 0;
  52.             if (index != -1) {
  53.                 y = 0 - (index * itemheight);
  54.             }
  55.             System.out.println("Mouse Clicked! index = "+index+" y = "+y);
  56.             menu.show(this, 2, y);
  57.         } else {
  58.             System.out.println("Nothing to popup!" );
  59.         }
  60.     }
  61.     public void mouseEntered(MouseEvent e) {}
  62.    
  63.     public void mouseExited(MouseEvent e) {}
  64.        
  65.     public void mousePressed(MouseEvent e) {}
  66.    
  67.     public void mouseReleased(MouseEvent e) {}
  68.     public static void main(String[] args) {
  69.         Select select = new Select(10);
  70.         select.addItem("Pomme" );
  71.         select.addItem("Banane" );
  72.         select.addItem("Orange" );
  73.         select.addItem("Citron" );
  74.         select.addItem("P�che" );
  75.         select.addItem("Poire" );
  76.         JFrame frame = new JFrame("Test" );
  77.         frame.getContentPane().setLayout(new FlowLayout());
  78.         frame.getContentPane().add(select);
  79.        
  80.         frame.pack();
  81.         frame.show();
  82.     }
  83. }

 
 
J'ai vraiment rien à glander, ce matin... :D


Message édité par gfive le 30-08-2002 à 10:59:11
n°205416
darklord
You're welcome
Posté le 30-08-2002 à 10:34:05  profilanswer
 

j'en connais un qui va être content :)


---------------
Just because you feel good does not make you right
n°205419
gfive
Posté le 30-08-2002 à 10:36:29  profilanswer
 

Mais dis, Ô mon Darklord (je suis affectueux, c'est le deuxième effet ouikende) comment qu'on met une image dans ce forum à la mord moi le noeud??

n°205421
taureau
Posté le 30-08-2002 à 10:38:48  profilanswer
 

(pour les images on les place ailleurs que chez chez.com  :D )

n°205424
darklord
You're welcome
Posté le 30-08-2002 à 10:39:57  profilanswer
 

tu postes ton url. Ensuite tu la sélectionne puis tu cliques sur l'image avec l'oeil  
 
sinon c'est un truc du genre
 
[img ]http://www.site.com/img0.gif[/img ]
 
sans les espaces avant ]


---------------
Just because you feel good does not make you right
n°205425
darklord
You're welcome
Posté le 30-08-2002 à 10:40:09  profilanswer
 

Taureau a écrit a écrit :

(pour les images on les place ailleurs que chez chez.com  :D )




 
par exemple :D


---------------
Just because you feel good does not make you right
n°205429
gfive
Posté le 30-08-2002 à 10:45:32  profilanswer
 

Bon, d'accord, faut que je me trouve un espace de ftp, alors! :D

n°205432
bobuse
Posté le 30-08-2002 à 10:49:54  profilanswer
 

DarkLord a écrit a écrit :

tu postes ton url. Ensuite tu la sélectionne puis tu cliques sur l'image avec l'oeil  
 




Ouah 'tain, ça doit faire mal !! :ouch:  
 
moi je le fais avec l'index, c'est plus pratique :D  
 
:dsl:

n°205433
darklord
You're welcome
Posté le 30-08-2002 à 10:50:42  profilanswer
 

:sarcastic:  
 
 [:rofl]


---------------
Just because you feel good does not make you right
n°205434
bobuse
Posté le 30-08-2002 à 10:51:41  profilanswer
 

DarkLord a écrit a écrit :

tu postes ton url
sans les espaces avant ]




et il faut un espace (ou saut de ligne) avant et après le tout ! (je crois :heink: )

n°205436
darklord
You're welcome
Posté le 30-08-2002 à 10:54:29  profilanswer
 

euh non, je crois pas ...


---------------
Just because you feel good does not make you right
n°205441
gfive
Posté le 30-08-2002 à 10:59:40  profilanswer
 

Yeeeah!!! :D Ca marche, voila rulaize grave! :p

n°205446
darklord
You're welcome
Posté le 30-08-2002 à 11:03:20  profilanswer
 

gfive tu me donnes des cours particuliers de création de GUI ?
 
[:prosterne] [:prosterne] [:prosterne]


---------------
Just because you feel good does not make you right
n°205447
bobuse
Posté le 30-08-2002 à 11:03:38  profilanswer
 

gfive a écrit a écrit :

Yeeeah!!! :D Ca marche, voila rulaize grave! :p




po mal !
top fanzzi le LnF ;)
 
EDIT : je sui complètement bourré !!!!
aucun LnF, c'est moi qui en ait un, du coup, je suis plus habitué au LnF métal :ouch:  [:nowad]


Message édité par bobuse le 30-08-2002 à 11:05:24
n°205449
darklord
You're welcome
Posté le 30-08-2002 à 11:04:44  profilanswer
 

[:prosterne] [:prosterne] [:prosterne]


---------------
Just because you feel good does not make you right
n°205456
darklord
You're welcome
Posté le 30-08-2002 à 11:08:00  profilanswer
 

c'est un JTextField :heink:


---------------
Just because you feel good does not make you right
n°205457
darklord
You're welcome
Posté le 30-08-2002 à 11:08:21  profilanswer
 

pff il a editait la salo


---------------
Just because you feel good does not make you right
n°205461
bobuse
Posté le 30-08-2002 à 11:09:39  profilanswer
 

Heu ... il manque le :

Code :
  1. frmae.addWindowListener(new WindowAdapter() {
  2.                                    public void windowClosing(WindowEvent e) {
  3.                                        System.exit(0);
  4.                                    }
  5.                                }
  6.                               );

:o  
 
J'ai po trouvé mieux !

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

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

  [Java/Swing] dropdown qui ne droppe pas QUE down ?

 

Sujets relatifs
[Java] Suppression d'un BLOB en base (Oracle 9i)transformation prog java en applet java pr mettre sur internet please
[Java] Remplacer un string par un string (Résolu)[JAVA, XML]inclure des .xml dans du xml
[JAVA/JSP][java] peut on passer un tableau en argument d'un constructeur ?
emacs et javaEditeur : c'est quoi la différence entre netbean et le studio de java?
convertir un prog java en algo ?[java] regex
Plus de sujets relatifs à : [Java/Swing] dropdown qui ne droppe pas QUE down ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR