JPopupMenu es una clase del paquete javax.swing. Es una implementación de PopupMenu. JPopupMenu genera una pequeña ventana que aparece y muestra una serie de opciones. JPopupMenu se puede usar para generar una pequeña ventana en cualquier posición dentro del contenedor.
Los constructores de la clase son:
- JPopupMenu() : crea un menú emergente con un nombre vacío
- JPopupMenu(String name) : crea un menú emergente con el título especificado.
Los métodos comúnmente utilizados de JPopupMenu son:
- add(JMenuItem menuItem) : agrega menuItem al menú emergente.
- add(String s) : agrega String al menú emergente.
- String getLabel() : obtiene la etiqueta del menú emergente.
- boolean is Visible() : devuelve si el menú JPopup está visible o no.
- setLabel(String s) : establece la etiqueta del menú emergente.
- setLocation(int x, int y) : establece la ubicación del menú emergente en las coordenadas dadas
- setPopupSize(int ancho, int altura) : establece el tamaño de la ventana emergente para dar alto y ancho
- setVisible(boolean b) : establece la visibilidad del menú emergente, visible si se pasa verdadero como argumento o viceversa.
- show(Component c, int x, int y) : muestra el menú emergente en la posición x, y dentro del componente c.
1. Programa para mostrar un menú emergente simple
Java
// Java program to show a simple popup menu import java.awt.*; import java.awt.event.*; import javax.swing.*; class Popup extends JFrame implements ActionListener { // java button static JButton b; // java frame static JFrame f; // popup menu static JPopupMenu pm; // default constructor Popup() { } // main class public static void main(String[] args) { // create a frame f = new JFrame("Popup"); // set the size of the frame f.setSize(400, 400); // close the frame when close button is pressed f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // create anew panel JPanel p = new JPanel(); // create an object of mouse class Popup pop = new Popup(); // create a button b = new JButton("click"); // addActionListener b.addActionListener(pop); p.add(b); f.add(p); f.show(); } // when the button is clicked public void actionPerformed(ActionEvent e) { String s = e.getActionCommand(); if (s.equals("click")) { // create a popup menu pm = new JPopupMenu("Message"); // create a label JLabel l = new JLabel("this is the popup menu"); // add the label to the popup pm.add(l); // add the popup to the frame pm.show(f, 100, 100); } } }
Producción :
2. Programa para mostrar un menú emergente y elementos de menú.
Java
// Java program to show a popup menu // and menu items to it import java.awt.*; import java.awt.event.*; import javax.swing.*; class Popup extends JFrame implements ActionListener { // java button static JButton b; // java frame static JFrame f; // popup menu static JPopupMenu pm; // JLabel JLabel l; // default constructor Popup() { } // main class public static void main(String[] args) { // create a frame f = new JFrame("Popup"); // set the size of the frame f.setSize(400, 400); // close the frame when close button is pressed f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // create anew panel JPanel p = new JPanel(); // create an object of mouse class Popup pop = new Popup(); // create a button b = new JButton("click"); // addActionListener b.addActionListener(pop); // create a popup menu pm = new JPopupMenu("Message"); // create menuItems JMenuItem m1 = new JMenuItem("Item1"); JMenuItem m2 = new JMenuItem("Item2"); JMenuItem m3 = new JMenuItem("Item3"); // create a Jlabel JLabel l = new JLabel("nothing clicked"); // add menuitems to popup menu pm.add(m1); pm.add(m2); pm.add(m3); // addActionListener m1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { l.setText("Item 1 clicked."); } }); m2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { l.setText("Item 2 clicked."); } }); m3.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { l.setText("Item 3 clicked."); } }); // add button and label to frame p.add(b); p.add(l); f.add(p); f.show(); } // when the button is clicked public void actionPerformed(ActionEvent e) { String s = e.getActionCommand(); if (s.equals("click")) { // add the popup to the frame pm.show(f, 200, 200); } } }
Producción :
Nota: es posible que estos códigos no se ejecuten en un IDE en línea, use un compilador fuera de línea
Publicación traducida automáticamente
Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA