JMenuBar, JMenu y JMenuItems son parte del paquete Java Swing. JMenuBar es una implementación de la barra de menú. el JMenuBar contiene uno o más objetos JMenu, cuando se seleccionan los objetos JMenu, muestran una ventana emergente que muestra uno o más JMenuItems. JMenu básicamente representa un menú. Contiene varios objetos JMenuItem. También puede contener objetos JMenu (o submenú). Constructores :
- JMenuBar() : Crea una nueva barra de menú.
- JMenu() : Crea un nuevo Menú sin texto.
- JMenu(String name) : Crea un nuevo Menú con un nombre específico.
- JMenu(String name, boolean b) : crea un nuevo menú con un nombre específico y un valor booleano lo especifica como un menú desplegable o no. Un menú desplegable se puede abrir y arrastrar fuera de su menú o barra de menú principal.
Métodos comúnmente utilizados:
- add(JMenu c) : Agrega menú a la barra de menú. Agrega el objeto JMenu a la barra de menú.
- add(Component c) : Agregar componente al final de JMenu
- add(Component c, int index) : Agregar componente al índice especificado de JMenu
- add(JMenuItem menuItem) : Agrega un elemento de menú al final del menú.
- add(String s) : crea un elemento de menú con la string especificada y lo agrega al final del menú.
- getItem(int index) : Devuelve el elemento de menú especificado en el índice dado
Los siguientes programas ilustrarán el uso de JMenuBar 1. Programa para crear una barra de menús y agregarle elementos de menú
Java
// Java program to construct // Menu bar to add menu items import java.awt.*; import javax.swing.*; import java.awt.event.*; public class menu extends JFrame { // menubar static JMenuBar mb; // JMenu static JMenu x; // Menu items static JMenuItem m1, m2, m3; // create a frame static JFrame f; public static void main() { // create a frame f = new JFrame("Menu demo"); // create a menubar mb = new JMenuBar(); // create a menu x = new JMenu("Menu"); // create menuitems m1 = new JMenuItem("MenuItem1"); m2 = new JMenuItem("MenuItem2"); m3 = new JMenuItem("MenuItem3"); // add menu items to menu x.add(m1); x.add(m2); x.add(m3); // add menu to menu bar mb.add(x); // add menubar to frame f.setJMenuBar(mb); // set the size of the frame f.setSize(500, 500); f.setVisible(true); } }
Salida: 2. Programa para agregar una barra de menú y agregar elementos de menú, elementos de submenú y también agregar ActionListener a los elementos de menú
Java
// Java program to add a menubar // and add menuitems, submenu items and also add // ActionListener to menu items import java.awt.*; import javax.swing.*; import java.awt.event.*; public class menu1 extends JFrame implements ActionListener { // menubar static JMenuBar mb; // JMenu static JMenu x, x1; // Menu items static JMenuItem m1, m2, m3, s1, s2; // create a frame static JFrame f; // a label static JLabel l; // main class public static void main() { // create an object of the class menu1 m = new menu1(); // create a frame f = new JFrame("Menu demo"); // create a label l = new JLabel("no task "); // create a menubar mb = new JMenuBar(); // create a menu x = new JMenu("Menu"); x1 = new JMenu("submenu"); // create menuitems m1 = new JMenuItem("MenuItem1"); m2 = new JMenuItem("MenuItem2"); m3 = new JMenuItem("MenuItem3"); s1 = new JMenuItem("SubMenuItem1"); s2 = new JMenuItem("SubMenuItem2"); // add ActionListener to menuItems m1.addActionListener(m); m2.addActionListener(m); m3.addActionListener(m); s1.addActionListener(m); s2.addActionListener(m); // add menu items to menu x.add(m1); x.add(m2); x.add(m3); x1.add(s1); x1.add(s2); // add submenu x.add(x1); // add menu to menu bar mb.add(x); // add menubar to frame f.setJMenuBar(mb); // add label f.add(l); // set the size of the frame f.setSize(500, 500); f.setVisible(true); } public void actionPerformed(ActionEvent e) { String s = e.getActionCommand(); // set the label to the menuItem that is selected l.setText(s + " selected"); } }
Salida: Nota: Es posible que el siguiente programa no se ejecute en un compilador en línea, use un IDE 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