Java >> Tutoriel Java >  >> Java

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 le JComboBox composant avec le PopupMenuListener .

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

Balise Java