Comment ouvrir un JPopupMenu sur l'onglet d'un panel de JTabbedPane ?
2 réponses
Vincent Cantin
Bonjour,
Je cherche a ouvrir un JPopupMenu sur l'onglet d'un panel de JTabbedPane,
mais je ne sais pas comment ecouter les evenements de la souris sur l'onglet
du panel. C'est un peu embetant, dans mon menu j'ai une action pour enlever
le panel, et pour l'instant l'utilisateur doit cliquer dans le panel plutot
que sur l'onglet pour ouvrir le menu.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
jocelyn
Salut Vincent,
Apres une recherche dans les forums java, j'ai trouvé une solution qui marche avec les versions 1.3 et 1.4 (j'ai testé). D'abord le lien qui va bien: http://forum.java.sun.com/thread.jsp?forumW&thread5690 Ensuite la démo que j'ai faite à partir de ca:
public static void main(String[] args) { JFrame frame = new JFrame("TabbedPaneDemo"); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); frame.getContentPane().add(new TabbedPaneDemo(), BorderLayout.CENTER); frame.setSize(400, 125); frame.setVisible(true); }
private void maybeShowPopup(final MouseEvent me) { if (me.isPopupTrigger()) { final JTabbedPane tabbed = (JTabbedPane) me.getSource(); int index = tabbed.getUI().tabForCoordinate(tabbed, me.getX(), me.getY()); if (index != -1) { JPopupMenu popup = new JPopupMenu(); JMenuItem item = new JMenuItem("Close"); popup.add(item); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { int i = tabbed.getSelectedIndex(); tabbed.remove(i); } }); popup.show(me.getComponent(), me.getX(), me.getY()); } } } }
Salut !
-- Celui qui lutte contre des monstres doit prendre garde, dans le combat, à ne pas devenir un monstre lui-même
"Vincent Cantin" a écrit dans le message news:
Bonjour,
Je cherche a ouvrir un JPopupMenu sur l'onglet d'un panel de JTabbedPane, mais je ne sais pas comment ecouter les evenements de la souris sur l'onglet
du panel. C'est un peu embetant, dans mon menu j'ai une action pour enlever
le panel, et pour l'instant l'utilisateur doit cliquer dans le panel plutot
que sur l'onglet pour ouvrir le menu.
Quelqu'un sait comment faire ?
Merci, Vincent
Salut Vincent,
Apres une recherche dans les forums java, j'ai trouvé une solution qui
marche avec les versions 1.3 et 1.4 (j'ai testé).
D'abord le lien qui va bien:
http://forum.java.sun.com/thread.jsp?forumW&thread5690
Ensuite la démo que j'ai faite à partir de ca:
Apres une recherche dans les forums java, j'ai trouvé une solution qui marche avec les versions 1.3 et 1.4 (j'ai testé). D'abord le lien qui va bien: http://forum.java.sun.com/thread.jsp?forumW&thread5690 Ensuite la démo que j'ai faite à partir de ca:
public static void main(String[] args) { JFrame frame = new JFrame("TabbedPaneDemo"); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); frame.getContentPane().add(new TabbedPaneDemo(), BorderLayout.CENTER); frame.setSize(400, 125); frame.setVisible(true); }
private void maybeShowPopup(final MouseEvent me) { if (me.isPopupTrigger()) { final JTabbedPane tabbed = (JTabbedPane) me.getSource(); int index = tabbed.getUI().tabForCoordinate(tabbed, me.getX(), me.getY()); if (index != -1) { JPopupMenu popup = new JPopupMenu(); JMenuItem item = new JMenuItem("Close"); popup.add(item); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { int i = tabbed.getSelectedIndex(); tabbed.remove(i); } }); popup.show(me.getComponent(), me.getX(), me.getY()); } } } }
Salut !
-- Celui qui lutte contre des monstres doit prendre garde, dans le combat, à ne pas devenir un monstre lui-même
"Vincent Cantin" a écrit dans le message news:
Bonjour,
Je cherche a ouvrir un JPopupMenu sur l'onglet d'un panel de JTabbedPane, mais je ne sais pas comment ecouter les evenements de la souris sur l'onglet
du panel. C'est un peu embetant, dans mon menu j'ai une action pour enlever
le panel, et pour l'instant l'utilisateur doit cliquer dans le panel plutot
que sur l'onglet pour ouvrir le menu.
Quelqu'un sait comment faire ?
Merci, Vincent
Vincent Cantin
Apres une recherche dans les forums java, j'ai trouv?une solution qui marche avec les versions 1.3 et 1.4 (j'ai test?. D'abord le lien qui va bien: http://forum.java.sun.com/thread.jsp?forumW&thread5690 Ensuite la démo que j'ai faite ?partir de ca:
Merci beaucoup Jocelyn.
Vincent
Apres une recherche dans les forums java, j'ai trouv?une solution qui
marche avec les versions 1.3 et 1.4 (j'ai test?.
D'abord le lien qui va bien:
http://forum.java.sun.com/thread.jsp?forumW&thread5690
Ensuite la démo que j'ai faite ?partir de ca:
Apres une recherche dans les forums java, j'ai trouv?une solution qui marche avec les versions 1.3 et 1.4 (j'ai test?. D'abord le lien qui va bien: http://forum.java.sun.com/thread.jsp?forumW&thread5690 Ensuite la démo que j'ai faite ?partir de ca: