A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Prof. Roberto Rosa Aula 6.  Vamos criar um projeto contendo um Menu Principal que chamará todas as outras janelas do nosso Sistema.

Apresentações semelhantes


Apresentação em tema: "Prof. Roberto Rosa Aula 6.  Vamos criar um projeto contendo um Menu Principal que chamará todas as outras janelas do nosso Sistema."— Transcrição da apresentação:

1 Prof. Roberto Rosa Aula 6

2  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.

3  Além do JFrame/JInternalFrame utilizaremos outros componentes que seguem abaixo na lista:  JMenu  JMenuBar  JMenuItem  JSeparator  JCheckBoxMenuItem  JRadioButtonMenuItem  JDesktopPane

4  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

5

6

7  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.

8  No Swing temos 3 tipos de Itens de Menu, são eles:  JMenuItem  JCheckBoxMenuItem  JRadioButtonMenuItem

9  A figura a seguir mostra os tipos de menu:  Tipos de Menu

10  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:

11  Menu

12  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.

13  Menu com JSeparator

14  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

15  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.

16  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.

17  O JDesktopPane encontra-se na paleta → categoria Contêineres → painel de Área de Trabalho conforme ilustra a figura:

18  Onde encontrar JDesktopPane

19  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:

20  Menu com JDesktopPane

21  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.

22  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:

23

24  Obs.: Nessa caixa de diálogo, você deve escolher "Forms GUI Swing" em seguida "Formulário JInternalFrame", conforme figura:  Criando JInternalFrame

25  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

26  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.

27  Inserindo evento no item de menu

28  Ao escolher o evento, automaticamente ele nos levará para o código criando um método, conforme Figura:  Código do evento ActionPerformed criado

29  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.

30

31  Ao clicar em "KeyPressed" o NetBeans redicionará para o código criando outro método abaixo do método jmiGuiTesteActionPerformed, conforme figura:

32  Código do evento KeyPressed criado

33  Método abrirGUITeste sendo chamado nos evento

34  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.

35  GUIMenu abrindo GUITeste


Carregar ppt "Prof. Roberto Rosa Aula 6.  Vamos criar um projeto contendo um Menu Principal que chamará todas as outras janelas do nosso Sistema."

Apresentações semelhantes


Anúncios Google