• Nenhum resultado encontrado

Criação de menus em Swing

N/A
N/A
Protected

Academic year: 2021

Share "Criação de menus em Swing"

Copied!
8
0
0

Texto

(1)

2009/2010 Tópicos das aulas Teórico Práticas

Helena Leitão & Dulce Mota 1

Criação de menus em Swing

Paradigmas de Programação

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.

(2)

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.

(3)

2009/2010 Tópicos das aulas Teórico Práticas

Helena Leitão & Dulce Mota 3 //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

import java.awt.*;import java.awt.event.*;import javax.swing.*; public class MinhaJanela extends JFrame{

JMenuBar menuBar; JMenu menu, submenu; JMenuItem menuItem;

Container c;

(4)

//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 menu item

menuItem = new JMenuItem("Texto e Imagem",new ImageIcon("SBWeb_04.gif")); menuItem.setMnemonic(KeyEvent.VK_I); menu.add(menuItem);

menuItem = new JMenuItem(new ImageIcon("SBWeb_04.gif"));

Paradigmas de Programação

(5)

2009/2010 Tópicos das aulas Teórico Práticas

Helena Leitão & Dulce Mota 5 //Um submenu é do tipo JMenu

submenu = new JMenu(“Cores");

submenu.setMnemonic(KeyEvent.VK_C);

menuItem = new JMenuItem(“Verde");

menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,

ActionEvent.ALT_MASK)); submenu.add(menuItem);

menuItem.addActionListener(mesc); //junta objecto de escuta ao menu item menuItem = new JMenuItem(“Amarelo");

submenu.add(menuItem);

menuItem.addActionListener(mesc); //junta objecto de escuta ao menu item menu.add(submenu); //junta o submenu ao menu

(6)

//Construçao do segundo menu na barra de menu. menu = new JMenu("Menu_2");

menu.setMnemonic(KeyEvent.VK_2);

menuBar.add(menu); //junta o menu à barra de menu //Junta a barra de menu à janela

this.setJMenuBar(menuBar);

//Obtem o content pane do frame e pinta-o de azul c=getContentPane();

c.setBackground(Color.BLUE); } //termina o construtor

(7)

2009/2010 Tópicos das aulas Teórico Práticas

Helena Leitão & Dulce Mota 7 //Classe Interna

class MenuItemEscuta implements ActionListener{ public void actionPerformed(ActionEvent e){

if(e.getActionCommand().equals("Texto")) JOptionPane.showMessageDialog(MinhaJanela.this,"Executou o item TEXTO"); else { if((e.getActionCommand()).equals("Verde")) c.setBackground(Color.GREEN); else if((e.getActionCommand()).equals("Amarelo")) c.setBackground(Color.YELLOW); } }

}//fecha a classe interna

}//fecha a classe MinhaJanela

(8)

import java.awt.*; import javax.swing.*; public class TesteMenu {

public static void main(String[] args) {

JFrame janela= new MinhaJanela("Teste de menus"); janela.setSize(400,300); janela.setVisible(true); janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }

O método main ( )

Paradigmas de Programação

Referências

Documentos relacionados

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Discussion The present results show that, like other conditions that change brain excitability, early environmental heat exposure also enhanced CSD propagation in adult rats.. The

- Se o estagiário, ou alguém com contacto direto, tiver sintomas sugestivos de infeção respiratória (febre, tosse, expetoração e/ou falta de ar) NÃO DEVE frequentar

Ninguém quer essa vida assim não Zambi.. Eu não quero as crianças

Contudo, sendo um campo de pesquisa e de atuação muito específico e novo no Brasil, ainda existe uma série de dificuldades para a eleição de parâmetros de conservação

The strict partition problem is relaxed into a bi-objective set covering problem with k-cliques which allows over-covered and uncovered nodes.. The information extracted

Dessa maneira, os resultados desta tese são uma síntese que propõe o uso de índices não convencionais de conforto térmico, utilizando o Índice de Temperatura de Globo Negro e

Atualmente os currículos em ensino de ciências sinalizam que os conteúdos difundidos em sala de aula devem proporcionar ao educando o desenvolvimento de competências e habilidades