Exemple PopupMenuListener
Avec ce tutoriel, nous allons vous montrer comment utiliser PopupMenuListener
interface en Java. Vous pouvez utiliser cet écouteur pour surveiller vos menus contextuels en remplaçant certaines méthodes qui se déclenchent lorsqu'un événement spécifique concernant le menu contextuel se produit.
Tout ce que vous avez à faire pour utiliser un PopupMenuListener
est :
- Créer un nouveau
JComboBox
- Créer un nouveau
PopupMenuListner
- Remplacer les méthodes qui correspondent aux événements que vous souhaitez surveiller, par exemple
popupMenuCanceled
,popupMenuWillBecomeInvisible
,popupMenuWillBecomeVisible
. Chaque fois qu'un événement se produit dans ce menu contextuel, la méthode correspondante sera exécutée. - Utilisez enfin
addPopupMenuListener
pour enregistrer leJComboBox
composant avec lePopupMenuListener
.
Examinons l'extrait de code suivant :
package com.javacodegeeks.snippets.desktop; import java.awt.BorderLayout; import java.awt.Container; import javax.swing.ComboBoxModel; import javax.swing.DefaultComboBoxModel; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.event.PopupMenuEvent; import javax.swing.event.PopupMenuListener; public class PopupMenuListenerExample { public static void main(String args[]) { JFrame jFrame = new JFrame(); Container cPane = jFrame.getContentPane(); final String itemArray[] = {"One", "Two", "Three"}; PopupMenuListener popupMenuListener = new PopupMenuListener() { boolean init = false; @Override public void popupMenuCanceled(PopupMenuEvent event) { } @Override public void popupMenuWillBecomeInvisible(PopupMenuEvent event) { } @Override public void popupMenuWillBecomeVisible(PopupMenuEvent event) { if (!init) { JComboBox comBox = (JComboBox) event.getSource(); ComboBoxModel comboModel = new DefaultComboBoxModel(itemArray); comBox.setModel(comboModel); init = true; } } }; JComboBox jCombo = new JComboBox(); jCombo.addPopupMenuListener(popupMenuListener); jCombo.setMaximumRowCount(6); jCombo.setEditable(true); cPane.add(jCombo, BorderLayout.NORTH); jFrame.pack(); jFrame.setVisible(true); } }
Ceci était un exemple sur la façon d'utiliser PopupMenuListeners dans l'événement Java de bureau Java.awt