Bonjour,
J'ai besoin de forwarder des évènements MouseEvent (mouse click) à une JComboBox pour qu'au final, la combobox ouvre son drop down menu. J'ai tenté ce morceau de code :
Le MouseEvent provient d'une JTable. J'ai cette exception qui se lance lors du clique (l'erreur provient de la ligne de code énoncée plus haut) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part combobox.dispatchEvent((MouseEvent) SwingUtilities.convertMouseEvent(table, e, combobox));
J'utilise le même procédé pour un bouton et ça marche bien. Ma combobox est bien remplie et visible. J'ai bien tenté un getComponentPopupMenu().setVisible(true) sur la combobox et un repaint() mais rien n'y fait..
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 Exception in thread "AWT-EventQueue-0" java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location at java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:1943) at java.awt.Component.getLocationOnScreen(Component.java:1917) at javax.swing.JPopupMenu.show(JPopupMenu.java:887) at javax.swing.plaf.basic.BasicComboPopup.show(BasicComboPopup.java:191) at javax.swing.plaf.basic.BasicComboPopup.togglePopup(BasicComboPopup.java:1110) at javax.swing.plaf.basic.BasicComboPopup$Handler.mousePressed(BasicComboPopup.java:807) at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:263) at java.awt.Component.processMouseEvent(Component.java:6260) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6028) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4630) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4460) at ...
Qu'est ce que je fais de mal ? Merci d'avance.
Partager