Programaçao
Para a criação de menus iremos usar objectos das classes JMenuBar, JMenu e JMenuItem. Os menus podem ser adicionados aos objectos das classes que disponibilizam o método setMenuBar, como é o caso de JFrame. A classe JMenuBar permite criar uma barra de menus, herda de JComponent e é um contentor para objectos de JMenu . JMenu é um contentor para items de menu, objectos da classe JMenuItem. Também podem ser usados como items de menu botões de opção (JRadioButtonMenuItem) e caixas de selecção (JCheckBoxMenuItem) mas não serão vistos aqui.
2009/2010 Tópicos das aulas Teórico Práticas Helena Leitão & Dulce Mota
1
Paradigmas de Programação Exemplo:
Construir uma janela com uma barra de menus, Menu1 e Menu2, definir para o Menu1 items de menu com um texto, com texto e imagem, só com imagem e ainda um item com submenus, de modo a obter-se o seguinte aspecto, carregando em Verde ou Amarelo assim muda a cor da janela.
2009/2010
Tópicos das aulas Teórico Práticas Helena Leitão & Dulce Mota
2
Paradigmas de Programação import java.awt.*;import java.awt.event.*;import javax.swing.*; public class MinhaJanela extends JFrame{ JMenuBar menuBar; JMenu menu, submenu; JMenuItem menuItem; Container c; //Construtor da janela que vai conter o menu public MinhaJanela(String s) { super(s); //Criaçao da barra de menu menuBar = new JMenuBar(); //O primeiro menu menu = new JMenu("Menu1 "); menu.setMnemonic(KeyEvent.VK_1); menuBar.add(menu); //junta à barra de menus o menu
2009/2010
Tópicos das aulas Teórico Práticas Helena Leitão & Dulce Mota
3
Paradigmas de Programação
//Um grupo de JMenuItems menuItem = new JMenuItem("Texto",KeyEvent.VK_T); menuItem.setAccelerator(KeyStroke.getKeyStroke( KeyEvent.VK_X, ActionEvent.ALT_MASK)); menu.add(menuItem); //junta o menu item ao menu //Criar objecto de escuta MenuItemEscuta mesc=new MenuItemEscuta(); menuItem.addActionListener(mesc); //junta objecto de escuta ao