Los menús son los componentes más utilizados en las GUI. Los menús no son subclases de la clase Componente y no se pueden colocar en contenedores normales. No están restringidos por el administrador de diseño y solo se pueden colocar en la barra de menú.
El componente de menú consta de tres partes: barra de menú (MenuBar), menú (Menu) y elemento de menú (MenuItem). Una barra de menú consta de varios menús y un menú consta de varios elementos de menú. Generalmente, la barra de menú se coloca en la ventana Frame, simplemente llame al método setMenuBar() de la clase Frame.
Los menús de uso común incluyen: menús desplegables y menús emergentes (se muestran de forma independiente y pueden aparecer en cualquier lugar).
1: Pasos para crear un menú desplegable:
1. Crea una barra de menú.
2. Llame al método setMenuBar() de Frame para agregar la barra de menú al Frame.
3. Cree varios objetos de Menú respectivamente y agréguelos a MenuBar.
4. Para cada objeto Menú, cree varios objetos MenuItem y agréguelos al Menú.
Ejemplo:
Copie el código de código de la siguiente manera:
importar java.awt.*;
clase pública MenuDemo {
Marco f;
MenúBarmb;
Menú menúArchivo;
Elemento de menú mItemNew, mItemOpen, mItemSave;
MenúDemo() {
f = new Frame("Mi instancia de menú");
f.setBounds(300, 100, 400, 300);
mb = new MenuBar(); // Crear barra de menúMenuBar
menuFile = nuevo Menú("Archivo");
mItemNew = nuevo MenuItem("Nuevo");
mItemOpen = nuevo MenuItem("Abrir");
menuFile.add(mItemNew);
mItemSave = new MenuItem("Guardar");
menuFile.add(mItemOpen);
//Añadir línea divisoria
menuFile.addSeparator();
menuFile.add(mItemSave);
mb.add(menúArchivo);
// Agrega el menú "Archivo" a la barra de menú
// setMenuBar: establece la barra de menú de este formulario en la barra de menú especificada.
f.setMenuBar(mb);
f.setVisible (verdadero);
}
público estático vacío principal (String [] argumentos) {
nueva demostración de menú();
}
}
Hay imágenes y hay verdades: (Los elementos del menú desplegable no pueden ser capturas de pantalla)
2: Pasos para crear un menú emergente:
1. Primero establezca el marco JFrame más básico.
2. Cree un menú emergente con el botón derecho (JPopupMenu) y agregue un elemento de menú (JMenuItem). 3. Utilice el método add y el método insert para agregar o insertar en JPopupMenu. 4. Muestre la ventana emergente llamando al método show. correspondiente al menú emergente del menú emergente, verifique todos los eventos MouseEvent para ver si son activadores del menú emergente y luego muestre el menú emergente cuando sea apropiado.
Ejemplo:
Copie el código de código de la siguiente manera:
importar java.awt.event.*;
importar javax.swing.*;
clase pública JPopMenu_Demo extiende JFrame {
// Implementación del menú emergente. El menú emergente es una pequeña ventana que aparece y muestra una serie de opciones.
JPopupMenu popupMenu;
público JPopMenu_Demo() {
super("menú emergente contextual"); // Llama al constructor de la clase principal
// Crea una instancia del menú emergente
popupMenu = nuevo JPopupMenu();
//Añadir elementos de menú al menú
popupMenu.add(new JMenuItem("elemento de menú"));
popupMenu.add(new JButton("Botón"));
popupMenu.add(new JLabel("Etiqueta"));
misEventos();
setSize(350, 300); //Establece el tamaño de la ventana
establecerUbicación(400, 200);
setVisible(true); // Configura la ventana para que sea visible
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Salga del programa al cerrar la ventana
}
privado vacío misEventos() {
//Manejo de eventos del mouse de ventana
addMouseListener(nuevo MouseAdapter() {
//Haz clic con el ratón
public void mousePressed (evento MouseEvent) {
//Llama al método triggerEvent para manejar el evento
desencadenadorEvento(evento);
}
// suelta el ratón
public void mouseReleased (evento MouseEvent) {
desencadenadorEvento(evento);
}
private void triggerEvent(evento MouseEvent) { // manejar eventos
// isPopupTrigger(): Devuelve si este evento del mouse activa un evento para el menú emergente de la plataforma.
si (event.isPopupTrigger())
// mostrar menú
popupMenu.show(event.getComponent(), event.getX(),
evento.getY());
}
});
}
público estático vacío principal (String args []) {
nuevo JPopMenu_Demo();
}
}
Hay fotos y la verdad (pero es bastante fea)
Tres: forma de pestaña:
1.Instrucciones básicas:
2. Métodos comúnmente utilizados:
Agregamos múltiples objetos JPanel a JTabbedPanel. y luego otra vez
Agregue JTabbedPanel al formulario, el código es el siguiente:
Copie el código de código de la siguiente manera:
JTabbedPane jp=new JTabbedPane(JTabbedPane.LEFT); //Establece las coordenadas de la pestaña;
JPanel p1=nuevo JPanel();
JPanel p2=nuevo JPanel();
JPanel p3=nuevo JPanel();
JPanel p4=new JPanel(); //Crea múltiples contenedores
jp.add("Form1", p1);
jp.add("Formulario 2", p2);
jp.add("Form 3", p3);//Agregar un subcontenedor y agregar un nombre a la pestaña
this.add(jp,BorderLayout.CENTER); //Agrega el formulario de pestaña al formulario principal
3. Ejemplos de código y capturas de pantalla:
Copie el código de código de la siguiente manera:
importar java.awt.*;
importar javax.swing.*;
/**
* <p>Título: Demostración de pestañas</p>
* <p>Descripción: Aquí hay una demostración de pestañas. Haga clic en diferentes tarjetas para mostrar contenido diferente</p>.
*/
la clase pública JTabbedPaneDemo1 extiende JPanel {
público JTabbedPaneDemo1() {
super(nuevo GridLayout(1, 1));
Icono ImageIcon = createImageIcon("images/MyIcon.gif");
JTabbedPane tabbedPane = nuevo JTabbedPane();
Panel de componentes1 = makeTextPanel("#Primera tarjeta#");
tabbedPane.addTab("Uno", icono, panel1, "¡La primera tarjeta solicita información!");
tabbedPane.setSelectedIndex(0);
Panel de componentes2 = makeTextPanel("##Segunda tarjeta##");
tabbedPane.addTab("Dos", icono, panel2, "¡La segunda tarjeta solicita información!");
Panel de componentes3 = makeTextPanel("###La tercera tarjeta###");
tabbedPane.addTab("Tres", icono, panel3, "¡La tercera tarjeta solicita información!");
Panel de componentes4 = makeTextPanel("####La cuarta tarjeta####");
tabbedPane.addTab("Cuatro", icono, panel4, "¡La cuarta tarjeta solicita información!");
//Agregar pestaña al panel
agregar(panel de pestañas);
}
/**
* <br>
* Descripción del método: Agregar información a la pestaña<br>
* Parámetro de entrada: Texto de cadena Contenido de información mostrada<br>
* Tipo de retorno: objeto miembro componente
*/
Componente protegido makeTextPanel (texto de cadena) {
Panel JPanel = nuevo JPanel (falso);
Relleno JLabel = nuevo JLabel(texto);
relleno.setHorizontalAlignment(JLabel.CENTER);
panel.setLayout(nuevo GridLayout(1, 1));
panel.add(relleno);
panel de retorno;
}
/**
* <br>
*Descripción del método: Obtener la imagen<br>
* Parámetros de entrada: ruta de cadena ruta de imagen<br>
* Tipo de retorno: objeto de imagen ImageIcon
*/
ImageIcon estático protegido createImageIcon (ruta de cadena) {
// java.net.URL imgURL = TabbedPaneDemo.class.getResource(ruta);
si (ruta! = nulo) {
devolver nuevo ImageIcon(ruta);
} demás {
System.out.println("No se pudo encontrar el archivo: " + ruta);
devolver nulo;
}
}
público estático vacío principal (String [] argumentos) {
// Usar descripción del formulario Swing
// JFrame.setDefaultLookAndFeelDecoated(true);
intentar {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} captura (Excepción e) {
}
//Crear formulario
Marco JFrame = nuevo JFrame("TabbedPaneDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new JTabbedPaneDemo1(), BorderLayout.CENTER);
// mostrar formulario
marco.setSize(400, 200);
frame.setVisible (verdadero);
}
}