Criação de telas com Swing



Documentos relacionados
Objectivos:. Construir programas com interfaces gráficas Graphical User Interface (GUI) application programs

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

MÓDULO 4 SWING Parte 3

Programação Orientada a Objetos em Java. GUI Graphical User Interface

Módulo 7. Interface Gráfica com o Usuário GUI - Introdução. Programação Orientada a Objetos I Java (Rone Ilídio)

Entender princípios de projeto. Capacitação para construir GUIs. Entender os pacotes que contém componentes de GUI, e as classes e interfaces de

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

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

Interface Gráfica com o Usuário (GUI) Profa. Isabel Harb Manssour (Material adaptado das aulas da Profa. Luciana Nedel e do Prof.

Interface Gráficas Parte I. Bruno Crestani Calegaro

INTERFACE COM O USUÁRIO (em Java) Programação Orientada a Objetos

1 Criando um aplicativo visual em Java

Curso de Aprendizado Industrial Desenvolvedor WEB

Eclipse IDE Dá-se importância aos antepassados quando já não temos nenhum. Francois Chateaubriand

1) De acordo com o trecho de código escrito na linguagem JAVA, responda a questão abaixo:

Interface com o Usuário (UI) UIs Desacopladas (2/3) BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos

8. Interfaces Gráficas de Usuário

Pacote Java Swing Parte 1

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

Técnicas de Programação II

Exercícios 07 Introdução à POO (Interface Gráfica)

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

JCheckbox JRadioButton JComboBox JList JMenu... Alguns componentes já vistos em aula JButton JLabel JTextField

Desenvolvimento de Aplicações Desktop

Desenvolvendo aplicações

Jogo Da Velha. - Parte 1 - Fazendo a parte gráfica do jogo da Velha

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES

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

JFC/Swing. Java Avançado Interface Gráfica JFC/Swing. Introdução JFC / Swing. Introdução JFC / Swing

Programação Gráfica em Java.

Programação de Interfaces Gráficas. Aula 1. Carlos Eduardo de Carvalho Dantas

Programação Orientada a Objetos

Swing. Page 1. Swing. Prof. Anderson Augustinho Uniandrade

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

Aula 11: Interfaces gráficas (1/2): elementos de interface Swing

Interface Gráfica. Prof. Marcelo Cohen

Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.

IDE (Integrated Development Environment) / RAD (Rapid Application Development)

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM

JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: imagecomposite FACULDADE DE TECNOLOGIA SENAC PELOTAS

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM

package br.com.cadastro.visao;

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

INTRODUÇÃO 12. DOCUMENTAÇÃO INTRODUÇÃO INTRODUÇÃO

Classes Abstratas e Interfaces

Curso Java Starter. 1

JAVA NETBEANS PGOO Prof. Daniela Pires Conteúdo

Java Exemplo MDI. Tela Principal

Sistema de Recursos Humanos

Módulo 5 - JDBC java.sql - Conexão com Banco de Dados

Interfaces Gráficas com Swing. Professor Leonardo Larback

Java Básico. Matrícula de Alunos. Marco Antonio, Arquiteto de Software TJDF Novembro/2005

Implementando uma Classe e Criando Objetos a partir dela

JAVA. Marcio de Carvalho Victorino. Interface Gráfica em Java (GUI)

Orientação a Objetos

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes

CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA A F B G C H D I

II Torneio de Programação em LabVIEW

Interface Gráfica. Prof. Marcelo Cohen. (material da Profa. Luciana Nedel) Graphical User Interface (GUI)

Acesso a banco de dados

LAB12: Componentes ASP.NET

Interfaces Gráficas: Interações Complexas

Introdução a programação gráfica em Java com Swing

Aula 2. Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4.

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Tutorial de Computação Introdução a Programação Gráfica em Java para MEC1100 v

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

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

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

Tratamento de Eventos

Programação Orientada a Objetos II

Scriptlets e Formulários

Elaborando as Interfaces Aulas 31, 32 e 33

Módulo 07 Características Avançadas de Classes

MANUAL DO INSTAR-MAIL 1.0. Pagina de login e senha do Instar-Mail

USANDO O ROUNDCUBE WEBMAIL

Como usar a documentaçã

Gerenciadores de Layouts

Orientações sobre a Utilização do Home Saúde

Manual do Spectacle. Boudhayan Gupta Boudhayan Gupta Tradução: André Marcelo Alvarenga

Programação Java. Construção de Interfaces com Swing (I)

API Swing Java. 1. Introdução. 2. Objetivos. 3. Surgimento do Swing. André Scarmagnani 1, Matheus Madalozzo 1, Miguel Diogenes Matrakas 1

JAVA APLICAÇÕES GRÁFICAS Propriedade Utilizada: FontSizeAnimation

Microsoft Office Excel 2007

Aula Au 3 la 7 Windows-Internet

Criando uma agenda simples com NetBeans 6.5

Guião de Introdução ao Eclipse IDE Índice

Programação Visual em Java

Programação Orientada a Objetos (DPADF 0063)

JAVA Orientação a Objetos. Usando diálogos com JOptionPane

Esclarecer dúvidas sobre o funcionamento do programa Licita, bem como explicar o processo de geração e importação de arquivos no sistema.

SISTEMA EXPERIMENTALL 15/11/2009. Olá! A partir de agora vamos conhecer a IDE NetBeans efetuando um micro projeto swing.

Java - Swing. Raphaela Galhardo raphaela@j2eebrasil.com.br

PRINCÍPIOS DE INFORMÁTICA PRÁTICA OBJETIVO 2. BASE TEÓRICA. 2.1 Criando Mapas no Excel. 2.2 Utilizando o Mapa

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

Transcrição:

Java Básico Criação de telas com Swing Marco Antonio, Arquiteto de Software TJDF ma@marcoreis.eti.br Novembro/2005

JFC Java Foundation Classes Swing Look and feel Java 2D Drag and Drop

GUI Graphical User Interface As regras de usabilidade e o protótipo de tela devem ser definidos antes do desenvolvimento. Várias estratégias para implementação. Valida as entradas do usuário (formatação de campos). Informa aos usuários sobre problemas no sistema (erros de rede, indisponibilidade dos servidores). Responde a eventos do usuário (clique do mouse, arrastar e soltar, mudança de campo). A criação de telas com swing pode ser um trabalho cansativo. É recomendado que se utilize uma ferramenta para a criação de telas profissionais.

Tela de cadastro de pessoa Para a classe Pessoa (nome, endereco, telefone, cpf) crie um protótipo de tela com as funcionalidades de inclusão, alteração, exclusão e fechamento.

Swing Container (contém outros componentes) Telas, painéis Componentes de controle Botões, menus, textos, etc.

Componentes de controle Botões respondem a cliques do mouse Rótulos mostra informações sobre os controles da tela Texto recupera dados digitados pelo usuário Listas possibilita a seleção de vários itens Caixas de combinação possibilita a seleção de um dos itens Caixas de seleção funcionalidade de ligado, desligado

JFrame Ponto inicial para a construção de telas. Para utilizar, importe o pacote javax.swing.*; Todas as telas são subclasses de JFrame. Crie os componentes gráficos e adicione ao conteúdo da tela através do getcontentpane().add(novocomponente); Dimensione a tela através do setsize(???,???) ou pack(); Torne a tela visível setvisible(true).

PrimeiraTelaSwing import javax.swing.*; //pacote obrigatório para usar o swing public class PrimeiraTelaSwing extends JFrame { //subclasse de JFrame public PrimeiraTelaSwing() { //utilize o construtor para dimensionar/mostrar a tela setsize(100,100); //definindo um tamanho inicial setvisible(true); //torna a tela visível, pois o padrão é invisível

TestePrimeiraTelaSwing public class TestePrimeiraTelaSwing { //essa outra classe apenas levanta a tela public static void main(string[] args) { //torna a classe executável //chama o construtor da nossa tela //o construtor irá dimensionar e mostrar a janela PrimeiraTelaSwing tela = new PrimeiraTelaSwing();

JButton Recupera o clique do usuário. Por padrão, não tem comportamento. Utilize a estrutura abaixo para criar um JButton: JButton btngravar = new JButton( Gravar ); JButton btnfechar = new JButton( Fechar );

PrimeiraTelaSwing + JButton import java.awt.*; //necessário para o flowlayout import javax.swing.*; public class PrimeiraTelaSwing extends JFrame { JButton btngravar = new JButton("Gravar"); //declare os objetos no início da classe JButton btnfechar = new JButton("Fechar"); //utilize o construtor para adicionar os objetos na tela public PrimeiraTelaSwing() { setlayout(new FlowLayout()); //*posiciona os componentes um após o outro getcontentpane().add(btngravar); //adiciona o primeiro botão getcontentpane().add(btnfechar); //adiciona o segundo botão setvisible(true); pack(); //dimensiona a tela baseando-se num tamanho padrão // *o gerenciamento de layout é discutido em um capítulo a parte.

JTextField A caixa de texto captura informação digitada pelo usuário. JTextField txtnome = new JTextField(); JTextField txtendereco = new JTextField(); Caixas de texto em branco, sem tamanho definido JTextField txtnome = new JTextField(null, 20); JTextField txtendereco = new JTextField(null, 30); O primeiro parâmetro representa o texto (null) e o segundo é o tamanho.

PrimeiraTelaSwing + JButton import java.awt.*; import javax.swing.*; public class PrimeiraTelaSwing extends JFrame { JTextField txtnome = new JTextField(null, 20); JTextField txtendereco = new JTextField(null, 30); JButton btngravar = new JButton("Gravar"); JButton btnfechar = new JButton("Fechar"); public PrimeiraTelaSwing() { setlayout(new FlowLayout()); //os componentes serão apresentados na tela nessa ordem getcontentpane().add(txtnome); getcontentpane().add(txtendereco); getcontentpane().add(btngravar); getcontentpane().add(btnfechar); setvisible(true); pack();

JLabel O rótulo torna uma tela mais fácil de usar, na medida em que identifica os componentes com um texto explicativo. Utilize o exemplo abaixo para criar rótulos: JLabel lblnome = new JLabel( Nome: ); JLabel lblendereco = new JLabel( Endereço: );

PrimeiraTelaSwing + JLabel import java.awt.*; import javax.swing.*; public class PrimeiraTelaSwing extends JFrame { JLabel lblnome = new JLabel("Nome"); JLabel lblendereco = new JLabel("Endereço"); JTextField txtnome = new JTextField(null, 20); JTextField txtendereco = new JTextField(null, 30); JButton btngravar = new JButton("Gravar"); JButton btnfechar = new JButton("Fechar"); public PrimeiraTelaSwing() { //nesse caso, vamos usar 4 linhas e 2 colunas setlayout(new GridLayout(4, 2)); getcontentpane().add(lblnome); getcontentpane().add(txtnome); getcontentpane().add(lblendereco); getcontentpane().add(txtendereco); getcontentpane().add(btngravar); getcontentpane().add(btnfechar); setvisible(true); pack();

JComboBox Caixa de combinação onde o usuário pode escolher um item entre vários possíveis. É criado em duas etapas: primeiro crie os itens que farão parte da combo, depois, crie a combo. Veja o exemplo: String[] sexos = { Masculino, Feminino ; JComboBox cbosexo = new JComboBox(sexos);

PrimeiraTelaSwing + JComboBox import java.awt.*; import javax.swing.*; public class PrimeiraTelaSwing extends JFrame { JLabel lblnome = new JLabel("Nome"); JLabel lblendereco = new JLabel("Endereço"); JLabel lblsexo = new JLabel("Sexo"); JTextField txtnome = new JTextField(null, 20); JTextField txtendereco = new JTextField(null, 30); JButton btngravar = new JButton("Gravar"); JButton btnfechar = new JButton("Fechar"); String [] sexos = {"Masculino", "Feminino"; JComboBox cbosexo = new JComboBox(sexos);

PrimeiraTelaSwing + JComboBox public PrimeiraTelaSwing() { setlayout(new FlowLayout()); getcontentpane().add(lblnome); getcontentpane().add(txtnome); getcontentpane().add(lblendereco); getcontentpane().add(txtendereco); getcontentpane().add(lblsexo); getcontentpane().add(cbosexo); getcontentpane().add(btngravar); getcontentpane().add(btnfechar); setvisible(true); pack();

Dúvidas

Exercícios Implemente a tela de cadastro de pessoa que iniciamos no exemplo. Crie a classe TelaDeCadastroDePessoa e dentro do pacote com.javabasico.swing Crie uma classe para testar a tela. Teste o pack() e o setsize() nas diversas situações que vimos e analise o comportamento da tela. Altere o gerenciador de layout entre FlowLayout e GridLayout e analise o comportamento da tela.

TelaDeCadastroDePessoa package com.javabasico.swing; import java.awt.*; import javax.swing.*; public class TelaDeCadastroDePessoa extends JFrame { JLabel lblnome = new JLabel("Nome: "); JLabel lblendereco = new JLabel("Endereço: "); JLabel lbltelefone = new JLabel("Telefone: "); JLabel lblcpf = new JLabel("Cpf: "); JLabel lblsexos = new JLabel("Sexo: "); JTextField txtnome = new JTextField(null, 20); JTextField txtendereco = new JTextField(null, 20); JTextField txttelefone = new JTextField(null, 20); JTextField txtcpf = new JTextField(null, 20); String[] sexos = {"Masculino", "Feminino"; JComboBox cbosexo = new JComboBox(sexos); JButton btngravar = new JButton("Gravar"); JButton btnfechar = new JButton("Fechar");

TelaDeCadastroDePessoa public TelaDeCadastroDePessoa() { Container c = getcontentpane(); setlayout(new GridLayout(0, 2)); settitle("cadastro de Pessoa"); c.add(lblnome); c.add(txtnome); c.add(lblendereco); c.add(txtendereco); c.add(lbltelefone); c.add(txttelefone); c.add(lblcpf); c.add(txtcpf); c.add(lblsexos); c.add(cbosexo); c.add(btngravar); c.add(btnfechar); setvisible(true); pack();

TesteDaTelaDeCadastroDePessoa package com.javabasico.swing; public class TesteDaTelaDeCadastroDePessoa { public static void main(string[] args) { new TelaDeCadastroDePessoa();

Exercícios Implemente uma tela para cadastro de aeronaves. Utilize todos os componentes mostrados até agora. Atributos da tela: Finalidade do avião (transporte de carga, passageiros) Modelo Quantidade de assentos Autonomia

TelaDeCadastroDeAeronave package com.javabasico.swing; import java.awt.*; import javax.swing.*; public class TelaDeCadastroDeAeronave extends JFrame { JLabel lblfinalidade = new JLabel("Finalidade: "); JLabel lblmodelo = new JLabel("Modelo: "); JLabel lblquantidadedeassentos = new JLabel("Quantidade de assentos: "); JLabel lblautonomia = new JLabel("Autonomia: "); String finalidades[] = {"Carga", "Passageiro"; JComboBox cbofinalidade = new JComboBox(finalidades); JTextField txtmodelo = new JTextField(); JTextField txtquantidadedeassentos = new JTextField(); JTextField txtautonomia = new JTextField(); JButton btngravar = new JButton("Gravar"); JButton btnfechar = new JButton("Fechar");

TelaDeCadastroDeAeronave public TelaDeCadastroDeAeronave() { setlayout(new GridLayout(0, 2)); Container c = getcontentpane(); settitle("cadastro de Aeronave"); c.add(lblfinalidade); c.add(cbofinalidade); c.add(lblmodelo); c.add(txtmodelo); c.add(lblquantidadedeassentos); c.add(txtquantidadedeassentos); c.add(lblautonomia); c.add(txtautonomia); c.add(btngravar); c.add(btnfechar); setdefaultcloseoperation(jframe.dispose_on_close); setvisible(true); pack();

TesteDaTelaDeCadastroDeAeronave package com.javabasico.swing; public class TesteDaTelaDeCadastroDeAeronave { public static void main(string[] args) { new TelaDeCadastroDeAeronave();

Exercícios Crie uma tela para cadastro de médico com os atributos nome, especialidade (Combo), número do crm.

TelaDeCadastroDeMedico package com.javabasico.swing; import java.awt.*; import javax.swing.*; public class TelaDeCadastroDeMedico extends JFrame { JLabel lblnome = new JLabel("Nome: "); JLabel lblespecialidade = new JLabel("Especialidade: "); JLabel lblnumerodocrm = new JLabel("Número do Crm: "); String[] especialidade = {"Cardiologia", "Clínica Geral", "Ortopedia"; JComboBox cboespecialidade = new JComboBox(especialidade); JTextField txtnome = new JTextField(); JTextField txtnumerodocrm = new JTextField();

TelaDeCadastroDeMedico public TelaDeCadastroDeMedico() { setlayout(new GridLayout(0, 2)); Container c = getcontentpane(); settitle("cadastro de Médico"); c.add(lblnome); c.add(txtnome); c.add(lblespecialidade); c.add(cboespecialidade); c.add(lblnumerodocrm); c.add(txtnumerodocrm); setvisible(true); pack();

TesteDaTelaDeCadastroDeMedico package com.javabasico.swing; public class TesteDaTelaDeCadastroDeMedico { public static void main(string[] args) { new TelaDeCadastroDeMedico();