Elaborando as Interfaces Aulas 31, 32 e 33

Documentos relacionados
Interfaces Gráficas (GUIs) em Java usando Swing Parte I - O básico

Elaborando Interfaces. Prof. André Aparecido da Silva Disponível em: Aulas 16, 17, e 18

Elaborando as Interfaces Aulas 43, 44 e 45

JTextArea JMenuBar JTable JDesktopPane e JInternalFrame

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 1- Interfaces Gráficas com Swing

. Uma instância da classe JTextField gera uma instância da classe ActionEvent quando o objecto está activo e o utilizador pressiona a tecla ENTER.

Introdução à Programação Gráfica em Java

Exercício 1: Criar um programa que utiliza que desenha uma interface gráfica tal como descrito na Figura 1.1.

Aula 12 POO 1 Interface Gráfica no Java. Profa. Elaine Faria UFU

Interfaces Gráficas com Swing. Professor Leonardo Larback

Aula 15 Interface Gáfica. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

Interface Gráfica. Disciplina: Desenvolvimento de Sistemas. Professor: Thiago Silva Prates

(INFORMAÇÕES PARA LABORATÓRIOS VIRTUAIS) Nome do laboratório: Laboratório de Programação (INFORMAÇÕES PARA FERRAMENTA)

Orientação a Objetos

Programação Orientada a Objetos

MÓDULO 4 SWING Parte 3

Aplicação Linguagem de Programação Orientada a Objeto

A classe JTextField

Interfaces Gráficas POO. Prof. Márcio Delamaro

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula de Revisão para AV1

JMENU, JDESKTOPPANE E JINTERNALFRAME

Programação Java. Construção de Interface gráfica. Processo Básico: OO + Eventos. Exemplo

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II Java Nona aula

Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos

Java Swing: Netbeans

Interface Gráfica - Swing

Desenvolvimento de Aplicações Desktop

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

Linguagem de programação 2 GUI

Linguagem de Programação II GUI Interface Gráfica com o Usuário

Programação Orientada a Objetos II

Programação Orientada a Objetos com Java. Prof. Júlio Machado

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 3- Desenvolvendo Interfaces Mais Ricas

Cadastro de Cargos, Departamentos e Funcionários

Formulário Principal no NetBeans

Java Foundation Classes Coleção de pacotes para criação de aplicações completas Desktop Interfaces gráficas (GUIs- Graphical User Interface)

Programação Orientada a Objetos II

Gerenciadores de Layout

PROGRAMAÇÃO ORIENTADA A OBJETOS -INTERFACES GRÁFICAS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 4- Tratamento de Eventos em Interfaces Gráficas

Layout. Programação Orientada a Objetos Java. Prof. Geraldo Braz Junior. Baseado em material original de João Carlos Pinheiro CEFET/MA

Adding User Interaction

Manual do Professor AVA - Moodle/Unesp (versão 3.0) Grupos e agrupamentos

Programação Orientada a Objetos

Interface Gráfica - Swing

Programação III. Interface Gráfica - Swing. Interface Gráfica Swing Jocélio Passos joceliodpassos@bol.com.br. Interface Gráfica - Swing

Crie um novo projeto conforme abaixo, encerrando com o botão Finalizar :

RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:

Componentes GUI A aparência e maneira como um usuário pode interagir com componentes AWT diferem de acordo com a plataforma. Componentes Swing permite

Unidade 11: Programando Swing com o NetBeans Prof. Daniel Caetano

Campo de coluna: é um campo retirado da lista de dados e atribuído a uma orientação de coluna na tabela dinâmica.

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula de Revisão para AV1

Interfaces Gráficas (GUIs) em Java usando Swing

Agenda. JFC (Java FoundaNon Classes) Interfaces Gráficas: layout manager JFC. Componentes do Swing. Pluggable Look and Feel

Técnicas de Programação II

Implementando componentes básicos com swing, utilizando NetBeans

Curso Java Starter. 1

1) Responda de acordo com os conceitos de orientação a objetos (0,5).

Java. Guia do Programador. Peter Jandl Junior. Novatec

JTABLE STUDENT CONTROL JSC Gil Eduardo de Andrade / Emílio Rudolfo Fey Neto

Escrito por Sex, 14 de Outubro de :50 - Última atualização Seg, 26 de Março de :39

Introdução a Tecnologia da Informação

Interface Gráficas Parte I. Bruno Crestani Calegaro

Pacote Java Swing Parte 1

A ferramenta wiki dentro da Plataforma Moodle funciona como um aplicativo que permite a redação e edição coletiva de textos e hipertextos.

Interface Gráfica. GUI (Graphic User Interface) AWT e Swing Containers e componentes Layouts. Linguagem Java - Prof. Luciana Porcher Nedel 1

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 5- Tratamento de Eventos de Manipulação de textos

Interface gráfica em Java: Swing e SWT

JFC/Swing. LPGII - Java Interface Gráfica JFC/Swing. Introdução JFC / Swing. Introdução JFC / Swing

Transcrição:

Elaborando as Interfaces Aulas 31, 32 e 33 JList e JComboBox Prof. André Aparecido da Silva Disponível em: http://www.oxnar.com.br/2017/3ati Aulas 31, 32 e 33. 1

ATIVIDADE DA SEMANA PASSADA ELABORE UMA TE COM OS SEGUINTES COMPONENTES: UMA BARRA DE MENU (ARQUIVO, CONFIGURAÇÕES E AJUDA) UMA BARRA DE FERRAMENTAS COM OS BOTÕES (NOVO, GRAVAR, AJUDA, LIMPAR E SAIR) UMA CAIXA DE TEXTOS (JTextArea) com 10 linhas e 50 colunas Um botão Novo, um botão Limpar, e um botão sair abaixo da caixa de textos. Verifique se aqui será melhor usar pack() ou o método setsize para definir o tamanho da sua tela. 2

ATIVIDADE DA SEMANA PASSSADA Verifique se aqui será melhor usar pack() ou o método setsize(largura, Altura) para definir o tamanho da sua tela. Faça o tratamento de eventos para os principais botões e menus (Limpar e Sair são essenciais). 3

JList Vamos agora construir uma GUI com um JList. Digamos que queremos mostrar uma lista de países. 4

JList Como com outros componentes do Swing, os dados de um JList são mantidos em um modelo. Isso é representado pela interface ListModel na Swing API. 5

JList A API fornece uma implementação padrão dessa classe chamada DefaultListModel. Mais frequentemente do que não, gostaríamos de exibir uma lista de elementos homogêneos. 6

JList e DefaultListModel CONSTRUTOR DO DefaultListModel DefaultListModel Itens_da_Lista = new DefaultListModel(); CONSTRUTOR DO JList JList Lista_de_Produtos = new JList(Itens_da_Lista ); 7

A JList será um Container para o DefaultListModel CONSTRUTOR DO DefaultListModel DefaultListModel Itens_da_Lista = new DefaultListModel(); CONSTRUTOR DO JList JList Lista_de_Produtos = new JList(Itens_da_Lista ); 8

Para que serve o DefaultListModel? Ele é um container que guardará os itens que serão posteriormente inseridos na JList 9

DECLARAÇÃO DOS OBJETOS 10

Montando a tela O método construtor da classe 11

Adicionando os componentes e containeres Na parte norte do JFrame só foi adicionado um painel e dentro do mesmo foi adicionado a JLabel com referencia indireta e um JTextFild (tf_novo_produto) 12

O JLabel e a JTextField aparecem conforme abaixo 13

Para parte central do JFrame o código ficou assim getcontentpane().add("center", Painel_Centro = new JPanel()); Painel_Centro.add(Painel_Rolante = new JScrollPane(Lista_de_Paises)); 14

O PAINEL CENTRAL FICOU ASSIM 15

O DefaultListModel e o JList já haviam sido criados e instanciados na parte superior do código DefaultListModel Itens_da_Lista = new DefaultListModel(); JList Lista_de_Paises = new JList(Itens_da_Lista); 16

Adição dos itens ao DefaultListModel 17

Quantidade de Itens visíveis na Lista Lista_de_Paises.setVisibleRowCount(10); Estes são só os itens visíveis da lista, mas a lista poderá ter bem mais itens que ficarão ocultos. Para acessados deveremos usar a barra lateral do JScrollPane. 18

Na posição sul foi adicionado um painel e os botões getcontentpane().add("south", Painel_Sul = new JPanel(new FlowLayout(FlowLayout.CENTER))); Painel_Sul.add(bt_Adicionar = new JButton("Adicionar Item")); Painel_Sul.add(bt_Excluir = new JButton("Excluir Item")); Painel_Sul.add(bt_Fechar = new JButton("Fechar")); 19

O Painel_Sul ficou assim... Barra lateral do JScrollPane. 20

O Painel_Sul ficou assim... NOTE QUE APESAR DO NOME CANADÁ ESTAR ESCRITO COM LETRAS MINUSCULAS NO JList foi adicionado com letras maiúsculas. Isto é feito através da instrução.touppercase(); Se fosse para deixar os itens com letras minúsculas deveria se usar a instrução.tolowercase(); 21

CONFIGURAÇÕES DA TELA settitle("oxnar: Exemplo JList"); pack(); //setsize(700, 500); setvisible(true); 22

TORNANDO OS BOTÕES SENSIVEIS AO CLIQUE DO MOUSE bt_adicionar.addactionlistener(this); bt_fechar.addactionlistener(this); bt_excluir.addactionlistener(this); 23

O tratamento dos eventos public void actionperformed(actionevent e) { if(e.getsource()==bt_adicionar) { Itens_da_Lista.addElement(tf_Novo_Pais.getText().toUpperCase()); tf_novo_pais.settext(""); } if(e.getsource()==bt_fechar) {System.exit(0);} if(e.getsource()==bt_excluir) {Itens_da_Lista.removeElementAt(Lista_de_Paises.getSelectedIndex());} } 24

E assim ficou a tela final Veja o arquivo: OxnarExemploJList.java 25

INCREMENTANDO O PROGRAMA Vamos adicionar novas funcionalidades referentes as JLists através de Menus 26

Adicionaremos um método para remover todos os itens a Listas JMenu Menu_Arquivo, Menu_Operacoes, Menu_Ajuda; JMenuItem MenuItem_Arquivo_Novo,. MenuItem_Arquivo_Sair; MenuItem_Operacoes_Adicionar_Itens,. MenuItem_Operacoes_Excluir_Itens, MenuItem_Operacoes_Excluir_Tudo; 27

Criando e setando a JMenuBar JMenuBar Barra_de_Menu = new JMenuBar(); setjmenubar(barra_de_menu); (Lembrando que o setjmenubarr é feito dentro do método contrutor) 28

Adicionando itens aos Menus ITENS DO MENU ARQUIVO 29

Adicionando itens aos Menus ITENS DO MENU OPERAÇÕES 30

Adicionando itens aos Menus ITENS DO MENU AJUDA 31

TORNANDO OS MENUS SENSIVEIS AO CLICK DO MOUSE 32

TRATAMENTO DE EVENTOS PARA OS MENUS Excluir Tudo Remove todos os itens da Lista 33

TRATAMENTO DE EVENTOS PARA OS MENUS Adicionar Itens Adiciona itens a Lista pelo menu ou pelo Botão if((e.getsource()==bt_adicionar) (e.getsource()==menuitem_operacoes_adicionar_itens)) { if(tf_novo_pais.gettext().equals("")) { JOptionPane.showMessageDialog(null, "Você precisa digitar um novo país"); } else { Itens_da_Lista.addElement(tf_Novo_Pais.getText().toUpperCase()); } } 34

Veja o arquivo: OxnarExemploJList2.java 35

Elabore uma tela conforme abaixo Ao selecionar um da lista de compras e clicar em adicionado na Lista Estoque. A tela não precisará ter menus mas você deve colocar um botão que me permita excluir dos os itens da lista de estoque Se o item selecionado estiver na Estoque o mesmo deverá ser adicionado na lista de compras 36

Elabore a tela com a lista abaixo Ao clicar no botão Limpar Lista, todos os item deverão ser excluídos. Ao clicar no botão Remover Item, o item selecionado deve ser excluído. Ao clicar no botão Adicionar Item, o texto que estiver no JTextField deverá ser adicionado a JList 37

JComboBox 38

DEFINIÇÃO Uma caixa de combinação é um objeto de interface de usuário gráfico comumente usado para controle de opções 39

DEFINIÇÃO Tradicionalmente, é uma combinação de uma lista suspensa ou caixa de listagem e uma caixa de texto editável de linha única, permitindo que o usuário digite um valor diretamente ou selecione um valor da lista. 40

DEFINIÇÃO O termo "caixa de combinação" é usado às vezes para significar "drop-down list". Em Java e.net, "caixa de combinação" não é um sinônimo de listas drop-down". 41

DEFINIÇÃO Definição de "drop-down list" às vezes é esclarecido com termos como "caixa de combinação não editável" (ou algo semelhante) para distingui-lo de "caixa de combinação". 42

Construtor JComboBox <String> Minha_Combo = new JComboBox<String>(); Tipo de objeto que conterá o JComboBox. Exemplos: String; Integer; Double Não aceita tipos primitivos (char, int, long, float entre outros). 43

Declarando a Classe import java.awt.event.*; import java.awt.event.itemevent; import java.awt.event.itemlistener; public class OxnarExemploJComboBox extends JFrame implements ActionListener, ItemListener { JComboBox <String> Minha_Combo = new JComboBox<String>(); JPanel Painel_Norte, Painel_Centro, Painel_Sul, Painel_Sul1, Painel_Sul2; JTextField tf_novoitem; JButton bt_adicionar, bt_excluir, bt_excluirtudo, bt_sair; 44

CONSTRUINDO A TELA public OxnarExemploJComboBox() { getcontentpane().setlayout(new BorderLayout()); getcontentpane().add("north", Painel_Norte = new JPanel (new FlowLayout(FlowLayout.CENTER))); Painel_Norte.add(new JLabel("EXEMPLO JComboBox")); getcontentpane().add("center", Painel_Centro = new JPanel (new FlowLayout(FlowLayout.CENTER))); Painel_Centro.add(Minha_Combo); Minha_Combo.addItem("SELECIONE UMA CIDADE"); 45

CONSTRUINDO A TELA getcontentpane().add("south", Painel_Sul = new JPanel (new GridLayout(2, 1))); Painel_Sul.add(Painel_Sul1 = new JPanel (new FlowLayout(FlowLayout.CENTER))); Painel_Sul1.add(new JLabel("NOVO ITEM:")); Painel_Sul1.add(tf_NovoItem = new JTextField(15)); Painel_Sul.add(Painel_Sul2 = new JPanel (new FlowLayout(FlowLayout.CENTER))); Painel_Sul2.add(bt_Adicionar = new JButton("ADICIONAR CIDADE")); Painel_Sul2.add(bt_Excluir = new JButton("EXCLUIR CIDADE")); Painel_Sul2.add(bt_ExcluirTudo = new JButton("EXCLUIR TUDO")); Painel_Sul2.add(bt_Sair = new JButton("SAIR DO SISTEMA")); 46

CONFIGURAÇÕES DA TELA setdefaultcloseoperation(exit_on_close); settitle("oxnar: Exemplo JList"); //pack(); setsize(500, 500); setvisible(true); //Eventos de Botões bt_adicionar.addactionlistener(this); bt_excluir.addactionlistener(this); bt_excluirtudo.addactionlistener(this); bt_sair.addactionlistener(this); //Eventos de JCombo Minha_Combo.addItemListener(this); 47

TRATAMENTO DOS EVENTOS COM BOTÃO public void actionperformed(actionevent e) { if(e.getsource()==bt_adicionar) { } Minha_Combo.addItem(tf_NovoItem.getText().toUpperCase()); tf_novoitem.settext(""); if(e.getsource()==bt_excluir) {Minha_Combo.removeItem(Minha_Combo.getSelectedItem());} } if(e.getsource()==bt_excluirtudo) { Minha_Combo.removeAllItems(); Minha_Combo.addItem("SELECIONE UMA CIDADE"); } if(e.getsource()==bt_sair) {System.exit(0);} 48

TRATAMENTO DOS EVENTOS COM ITENS public void itemstatechanged(itemevent e) { } 49