Os menus são os componentes mais comumente usados em GUIs. Os menus não são subclasses da classe Component e não podem ser colocados em contêineres comuns. Eles não são restringidos pelo gerenciador de layout e só podem ser colocados na barra de menus.
O componente de menu consiste em três partes: barra de menu (MenuBar), menu (Menu) e item de menu (MenuItem). Uma barra de menu consiste em vários menus e um menu consiste em vários itens de menu. Geralmente, a barra de menu é colocada na janela Frame, basta chamar o método setMenuBar() da classe Frame.
Os menus comumente usados incluem: menus suspensos e menus pop-up (exibidos de forma independente e podem aparecer em qualquer lugar).
1: Etapas para criar um menu suspenso:
1. Crie uma barra de menu.
2. Chame o método setMenuBar() do Frame para adicionar a barra de menu ao Frame.
3. Crie vários objetos Menu respectivamente e adicione-os ao MenuBar.
4. Para cada objeto Menu, crie vários objetos MenuItem e adicione-os ao Menu.
Exemplo:
Copie o código do código da seguinte forma:
importar java.awt.*;
classe pública MenuDemo {
Quadro f;
MenuBarmb;
Menu menuArquivo;
MenuItem mItemNew, mItemOpen, mItemSave;
MenuDemo() {
f = new Frame("Minha instância de menu");
f.setBounds(300, 100, 400, 300);
mb = new MenuBar(); // Cria o menu barMenuBar
menuArquivo = new Menu("Arquivo");
mItemNew = new MenuItem("Novo");
mItemOpen = new MenuItem("Abrir");
menuFile.add(mItemNew);
mItemSave = new MenuItem("Salvar");
menuFile.add(mItemOpen);
//Adiciona linha divisória
menuFile.addSeparator();
menuFile.add(mItemSave);
mb.add(menuArquivo);
//Adiciona o menu "Arquivo" na barra de menu
// setMenuBar: Define a barra de menu deste formulário para a barra de menu especificada.
f.setMenuBar(mb);
f.setVisible(verdadeiro);
}
public static void main(String[] args) {
novo MenuDemo();
}
}
Existem imagens e existem verdades: (Os itens do menu suspenso não podem ser capturas de tela)
2: Etapas para criar um menu pop-up:
1. Primeiro estabeleça a estrutura JFrame mais básica.
2. Crie um menu pop-up com o botão direito (JPopupMenu) e um item de menu adicionado (JMenuItem 3. Use o método add e o método insert para adicionar ou inserir no JPopupMenu 4. Exiba o pop-up chamando o método show). correspondente ao acionador do menu pop-up, verifique todos os eventos MouseEvent para ver se eles são acionadores do menu pop-up e, em seguida, exiba o menu pop-up quando apropriado.
Exemplo:
Copie o código do código da seguinte forma:
importar java.awt.event.*;
importar javax.swing.*;
classe pública JPopMenu_Demo estende JFrame {
// Implementação do menu pop-up O menu pop-up é uma pequena janela que aparece e exibe uma série de opções.
JPopupMenu popupMenu;
public JPopMenu_Demo() {
super("menu pop-up do botão direito"); // Chama o construtor da classe pai
// Instancia o menu pop-up
popupMenu = new JPopupMenu();
//Adiciona itens de menu ao menu
popupMenu.add(new JMenuItem("item de menu"));
popupMenu.add(new JButton("Botão"));
popupMenu.add(new JLabel("Etiqueta"));
meusEventos();
setSize(350, 300); //Define o tamanho da janela
setLocation(400, 200);
setVisible(true); // Define a janela para ficar visível
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Sai do programa ao fechar a janela
}
private void meusEventos() {
//Manipulação de eventos do mouse na janela
addMouseListener(new MouseAdapter() {
//clique com o mouse
public void mousePressed(evento MouseEvent) {
//Chama o método triggerEvent para tratar o evento
triggerEvent(evento);
}
//libera o mouse
public void mouseReleased(evento MouseEvent) {
triggerEvent(evento);
}
private void triggerEvent(MouseEvent event) { //manipula eventos
// isPopupTrigger(): Retorna se este evento de mouse aciona um evento para o menu pop-up da plataforma.
se (event.isPopupTrigger())
//mostra cardápio
popupMenu.show(event.getComponent(), event.getX(),
evento.getY());
}
});
}
public static void main(String args[]) {
novo JPopMenu_Demo();
}
}
Existem fotos e a verdade (mas é bem feia)
Três: Formulário de guia:
1.Instruções básicas:
2. Métodos comumente usados:
Adicionamos vários objetos JPanel ao JTabbedPanel. e então novamente
Adicione JTabbedPanel ao formulário, o código é o seguinte:
Copie o código do código da seguinte forma:
JTabbedPane jp=new JTabbedPane(JTabbedPane.LEFT); //Definir as coordenadas da guia
JPanel p1=novo JPanel();
JPanel p2=novo JPanel();
JPanel p3=novo JPanel();
JPanel p4=new JPanel(); //Cria vários contêineres
jp.add("Formulário1", p1);
jp.add("Formulário 2", p2);
jp.add("Form 3", p3); //Adiciona um subcontêiner e adiciona um nome à guia
this.add(jp,BorderLayout.CENTER); //Adiciona o formulário guia ao formulário principal;
3. Exemplos de código e capturas de tela:
Copie o código do código da seguinte forma:
importar java.awt.*;
importar javax.swing.*;
/**
* <p>Título: Demonstração da guia</p>
* <p>Descrição: Aqui está uma demonstração da guia Clique em cartões diferentes para exibir conteúdos diferentes</p>.
*/
classe pública JTabbedPaneDemo1 estende JPanel {
public JTabbedPaneDemo1() {
super(novo GridLayout(1, 1));
Ícone ImageIcon = createImageIcon("imagens/MyIcon.gif");
JTabbedPane tabbedPane = new JTabbedPane();
Componente panel1 = makeTextPanel("#First Card#");
tabbedPane.addTab("One", icon, panel1, "As informações do prompt do primeiro cartão!");
tabbedPane.setSelectedIndex(0);
Componente panel2 = makeTextPanel("##Segundo Cartão##");
tabbedPane.addTab("Dois", icon, panel2, "As informações do prompt do segundo cartão!");
Componente panel3 = makeTextPanel("###O terceiro cartão###");
tabbedPane.addTab("Três", icon, panel3, "As informações do prompt do terceiro cartão!");
Componente panel4 = makeTextPanel("####O quarto cartão####");
tabbedPane.addTab("Quatro", icon, panel4, "As informações do prompt do quarto cartão!");
//Adiciona aba ao painel
add(tabbedPane);
}
/**
* <br>
* Descrição do método: Adicione informações à aba<br>
* Parâmetro de entrada: texto da string Conteúdo informativo exibido<br>
* Tipo de retorno: objeto membro do componente
*/
Componente protegido makeTextPanel(String text) {
Painel JPanel = novo JPanel(falso);
Preenchimento JLabel = novo JLabel(texto);
filler.setHorizontalAlignment(JLabel.CENTER);
painel.setLayout(novo GridLayout(1, 1));
painel.add(preenchimento);
painel de retorno;
}
/**
* <br>
*Descrição do método: Obtenha a imagem<br>
* Parâmetros de entrada: Caminho da string caminho da imagem<br>
* Tipo de retorno: objeto de imagem ImageIcon
*/
ImageIcon estático protegido createImageIcon (caminho da string) {
// java.net.URL imgURL = TabbedPaneDemo.class.getResource(caminho);
if (caminho! = nulo) {
retornar novo ImageIcon(caminho);
} outro {
System.out.println("Não foi possível encontrar o arquivo: " + caminho);
retornar nulo;
}
}
public static void main(String[] args) {
//Utiliza a descrição do formulário Swing
// JFrame.setDefaultLookAndFeelDecorated(true);
tentar {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exceção e) {
}
//Criar formulário
Quadro JFrame = new JFrame("TabbedPaneDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new JTabbedPaneDemo1(), BorderLayout.CENTER);
//exibe o formulário
frame.setSize(400, 200);
frame.setVisible (verdadeiro);
}
}