linguagem de programaÇÃo visual ii

35
LINGUAGEM DE PROGRAMAÇÃO VISUAL II Prof. Roberto Rosa [email protected] Aula 6

Upload: tobias-stewart

Post on 01-Jan-2016

33 views

Category:

Documents


6 download

DESCRIPTION

Prof. Roberto Rosa [email protected]. LINGUAGEM DE PROGRAMAÇÃO VISUAL II. Aula 6. Menu Principal com JFrame e JInternalFrame. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

LINGUAGEM DE PROGRAMAÇÃO VISUAL

II

Prof. Roberto [email protected]

Aula 6

Page 2: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Menu Principal com JFrame e JInternalFrame

Vamos criar um projeto contendo um Menu Principal que

chamará todas as outras janelas do nosso Sistema. O Menu

principal será criado com o componente JFrame, já que

esse contém o método "main()" que chamará todas as

outras janelas do nosso sistema.

As outras janelas por sua vez não precisam ter método

main(), devido a esse fato utilizaremos um formulário sem

este método, no caso o JInternalFrame.

Page 3: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Menu Principal com JFrame e JInternalFrame

Além do JFrame/JInternalFrame utilizaremos outros

componentes que seguem abaixo na lista:

JMenu

JMenuBar

JMenuItem

JSeparator

JCheckBoxMenuItem

JRadioButtonMenuItem

JDesktopPane

Page 4: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

1º passo:

Agora vamos colocar os componentes de Menu. Para isso

acesse a "Paleta" no canto superior direito do Netbeans. Na

paleta clique na categoria "Menus Swing". Em Menus Swing

escolha uma "Barra de Menu"(JMenuBar1) e arraste até o

JFrame, conforme figura a seguir:

Onde encontramos os componentes

Page 5: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Menu Swing

Page 6: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Menu Swing

Page 7: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

JMenuBar

Por padrão o JmenuBar1 já vem com dois menus (File e

Edit). Se você clicar em cima dos Menus verá que o nome

deles são respectivamente: JMenu1,JMenu2

Só a barra de menu (JmenuBar) com os 2 menus(JMenu)

não fica legal. Para que um menu fique funcional,

necessitamos inserir os Itens de Menu.

Page 8: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Itens de Menu

No Swing temos 3 tipos de Itens de Menu, são eles:

JMenuItem

JCheckBoxMenuItem

JRadioButtonMenuItem

Page 9: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Itens de Menu

A figura a seguir mostra os tipos de menu:

Tipos de Menu

Page 10: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Itens de Menu

Agora, vamos inserir 4 itens de menu para você entender

como funciona. Cada item de menu inserindo dentro de um

JMenu é uma nova opção, podendo conter quantos

JMenuItem nós desejarmos/precisarmos. A figura a seguir

mostrar como está ficando o nosso menu:

Page 11: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Itens de Menu

Menu

Page 12: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Itens de Menu

Linha Separadora

Em alguns casos você precisará separar os itens de menu

em categorias. Para fazer isso você pode utilizar o

componente JSeparator. Esse componente simplesmente

cria uma linha que separa o menu conforme desejado.

Page 13: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Menu + Separador

Menu com JSeparator

Page 14: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Modificando o nome dos componentes

Agora vamos modificar o nome dos componentes de menu.

Como é bastante componente eu utilizo a seguinte

nomenclatura de nomes para cada um dos menus e itens

de menu:

JmenuBar – jmb

Jmenu – jm

JmenuItem – jmi

JCheckBoxMenuItem - jcbmi

JRadioButtonMenuItem - jrbmi

Page 15: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

JDesktopPane

O JDesktopPane é um Painel da Área de Trabalho(como o

próprio nome já diz). Ele serve para que as janelas sejam

abertas apenas dentro da janela principal do sistema, não

permitindo que as janelas saiam para fora da janela

principal. Isso é o chamado menu MDI.

Page 16: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

JDesktopPane

Bom, agora que já sabemos para o que ele serve, o

próximo passo é inserir um JDesktopPane, ou seja, um

componente que será uma Área de Trabalho onde serão

abertas todas as outras janelas (JInternalFrame) do nosso

sistema.

Page 17: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

JDesktopPane

O JDesktopPane encontra-se na paleta → categoria

Contêineres → painel de Área de Trabalho conforme ilustra

a figura:

Page 18: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

JDesktopPane

Onde encontrar JDesktopPane

Page 19: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

JDesktopPane

Obs.: Se o Netbeans estiver sendo executado no Sistema Operacional

Windows, a cor de fundo padrão do Painel da Área de Trabalho pode

variar. Geralmente as cores utilizadas são o Azul ou preto.

Após inserir o JDesktopPane mude o nome da variável para algo do tipo:

jAreaTrabalho

jdpAreaTrabalho

O componente que servirá como área de trabalho deverá ser

expandido em toda a janela principal ou em parte dela deixando

algumas bordas, conforme a figura:

Page 20: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

JDesktopPane

Menu com JDesktopPane

Page 21: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Vinculando uma janela no Menu

Bom, agora vamos abrir a nossa primeira janela. Ao contrário

do que vinhamos utilizando agora nós vamos utilizar outro

componente do Swing. O nome da janela não será "Form

JFrame" e sim "Form JInternalFrame". Mas porque eu utilizo um

Form diferente do JFrame? A explicação é simples: O Form

JFrame vem com o método main(), enquanto o Form

InternalFrame não vem com o método main(). Se colocarmos 2

Form JFrame no mesmo projeto ao executar o java não saberá

qual das 2 janelas devem ser "rodadas"(executadas). A não ser

que você indique nas propriedades do projeto ou diretamente

no Class path.

Page 22: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Vinculando uma janela no Menu

Alguns desenvolvedores ao invés de utilizar JInternalFrame

acabam utilizando o Form JPanel. Ao meu ver, indifere qual

Form será utilizado; claro, desde que seja um desses 2.

Para abrir uma janela a partir do menu siga as instruções a

seguir:

Vamos primeiro criar a janela que será aberta pelo menu.

Para isso clique com o botão direito do mouse no pacote

"visao" e escolha a opção: Novo → outros. Será aberta uma

caixa de diálogo conforme a figura:

Page 23: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Vinculando uma janela no Menu

Page 24: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Vinculando uma janela no Menu

Obs.: Nessa caixa de diálogo, você deve escolher "Forms

GUI Swing" em seguida "Formulário JInternalFrame",

conforme figura:

Criando JInternalFrame

Page 25: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Vinculando uma janela no Menu

Como é apenas uma janela teste, vou utilizar o seguinte nome: GUITeste.

A Figura a seguir mostra onde ficará a "GuiTeste" recém-criada.

GUITeste recém-criada

Page 26: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Voltando na GUIMenu

Agora volte até a Classe MenuPrincipal. Clique com o botão

direito do mouse no "Item de Menu" que deseja utilizar

para abrir a janela" GuiTeste". A Figura mostra que foi

utilizado o primeiro "Item de Menu" para inserir o Evento

de ActionPerformed.

Page 27: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Criando Evento...

Inserindo evento no item de menu

Page 28: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Criando Evento...

Ao escolher o evento, automaticamente ele nos levará para

o código criando um método, conforme Figura:

Código do evento ActionPerformed criado

Page 29: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Criando Evento KeyPressed...

Clique em "Projeto" novamente. Agora vamos adicionar o

Evento: key → key pressed. Esse evento é responsável pela

abertura da janela se alguma tecla for pressionada. Vamos

restringir para que somente quando o "Enter" for

pressionado a janela abra.

Page 30: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Criando Evento KeyPressed...

Page 31: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Criando Evento KeyPressed...

Ao clicar em "KeyPressed" o NetBeans redicionará para o

código criando outro método abaixo do método

jmiGuiTesteActionPerformed, conforme figura:

Page 32: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Criando Evento KeyPressed...

Código do evento KeyPressed criado

Page 33: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Abrindo a Janela...

Método abrirGUITeste sendo chamado nos evento

Page 34: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Abrindo a Janela...

Obs.: O if() dentro do método KeyPressed serve para testar

se o código da tecla que foi pressionada (getKeyCode()) é

igual ( == ) a tecla Enter (KeyEvent.VK_ENTER).

O resultado final pode ser visualizado na figura que segue.

Quando clicamos no menu Cadastrar -> opção Teste ele

instância e abre a GuiTeste dentro da Área de Trabalho

(JDesktopPane) que criamos.

Page 35: LINGUAGEM DE PROGRAMAÇÃO VISUAL  II

Executando...

GUIMenu abrindo GUITeste