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

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

Elaborando as Interfaces Aulas 31, 32 e 33

Elaborando as Interfaces Aulas 43, 44 e 45

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

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

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

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

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

Interfaces Gráficas (GUIs) em Java usando Swing

MÓDULO 4 SWING Parte 3

8. Interfaces Gráficas de Usuário

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

Interfaces Gráficas com Swing. Professor Leonardo Larback

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

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

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

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

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

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

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

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

Técnicas de Programação II

Interface gráfica em Java: Swing e SWT

Gerenciamento de Layout

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

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

Adding User Interaction

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

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

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

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

Roteiro. Introdução. Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans. Objetos. Princípios da Orientação a Objetos

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

Programação Orientada a Objetos

Programação Orientada a Objetos

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

Pacote Java Swing Parte 1

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

COM220 Aula 17: Interface Gráfica Containers Swing

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

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

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

Interface Gráfica. Prof. Marcelo Cohen

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

Desenvolvimento de Aplicações Desktop

Principais Classes Swing AWT

JFrame. JLabel : Utilizado como rótulo para exibição de texto e ícones. Interface Gráfica de JAVA - Graphical User Interface (GUI)

Curso Java Starter. 1

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

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

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

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

A classe JTextField

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

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

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

Programação Orientada a Objetos II

Gerenciadores de Layout

Linguagem de Programação Visual

Unidade 12: Programação de Banco de Dados com Java Prof. Daniel Caetano

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

Interface Gráficas Parte I. Bruno Crestani Calegaro

Componente JOptionPane Layout Null Tratamento de Eventos. Action Listener

1 Criando um aplicativo visual em Java

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

Criação de Aplicações GUI. Java JFC / Swing

Criação de telas com Swing

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

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

Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Programando GUIs

Transcrição:

Interfaces Gráficas (GUIs) em Java usando Swing Parte I - O básico Prof. Esp. André Aparecido da Silva Disponível em: http://www.oxnar.com.br/aulas/java/aulajava07a09.pptx

Existe grande quantidade de funcionalidades disponíveis nas bibliotecas de classes Java, destinadas a prover a comunicação homem-máquina gráfica.

Interface GUI Conhecida como Interface Gráfica com Usuário (Graphical User Interface GUI), é onde os resultados são apresentados em modo gráfico. Essa interface é formada através de componentes GUI, conhecidos por controles ou widgets. Esses componentes são objetos que fazem a interação com usuário por teclado, mouse ou outros dispositivos que venham a servir para entrada de dados.

COMPONENTES Os componentes GUI Swing estão dentro do pacote javax.swing que são utilizados para construir as interfaces gráficas. Alguns componentes não são do tipo GUI Swing e sim componentes AWT. Antes de existir o GUI Swing, o Java tinha componentes AWT (Abstract Windows Toolkit) que faz parte do pacote java.awt.

A diferença entre o GUI Swing e AWT, é na aparência e comportamento dos componentes, ou seja, quando criado por AWT, a aparência e comportamento de seus componentes são diferentes para cada plataforma e enquanto feito por GUI Swing, a aparência e comportamento funcionam da mesma forma para todas as plataformas.

Os componentes AWT são mais pesados, pois requerem uma interação direta com o sistema de janela local, podendo restringir na aparência e funcionalidade, ficando menos flexíveis do que os componentes GUI Swing.

Alguns componentes da GUI swing JLabel - Exibe texto não editável ou ícones.

Alguns componentes da GUI swing JButton Libera um evento quando o usuário clicar nele com o mouse.

Alguns componentes da GUI swing JTextField Insere dados do teclado e serve também para exibição do texto editável ou não editável.

Alguns componentes da GUI swing JCheckBox Especifica uma opção que pode ser ou não selecionada.

Alguns componentes da GUI swing JComboBox Fornece uma lista de itens onde possibilita o usuário selecionar um item ou digitar para procurar.

Alguns componentes da GUI swing JList Lista de itens onde pode ser selecionado vários itens.

Alguns componentes da GUI swing JPanel É a área onde abriga e organiza os componentes inseridos.

Métodos comuns em todos os componentes Swing get/setpreferredsize get/setsize get/setlocation getlength/width repaint setbackground(color) setfont(font) isenabled / setenabled(boolean) isvisible / setvisible(boolean)

Os elementos básicos necessários para criar um GUI residem em dois pacotes: java.awt: Abstract Windowing Toolkit (classes básicas); javax.swing: Swing Components - fornece melhores alternativas aos componentes definidos na classe java.awt. Exemplo: estudaremos a classe JButton do Swing no lugar da classe Button, do java.awt.

Objetos da Classe AWT

Objetos da Classe Swing

Para criar a interface gráfica será necessário importar algumas bibliotecas: import java.awt.*; import javax.swing.*; Dependente do sistema operacional. Independente do sistema operacional; Largamente utilizado. Mais opções de utilitários para interface 18

Prosseguindo... public class Primeira_Tela extends JFrame implements ActionListener { JLabel lbl_mostrar; JButton bt_escrever, bt_sair, bt_limpar; JPanel Painel_Botoes = new JPanel(); CRIAÇÃO DE OBJETOS (BOTÕES, ETIQUETAS E PAINEIS)

JFrame Métodos principais public void settitle(string title): Coloca um título na barra de título da janela. public void show(): Faz o frame aparecer na tela. public void setvisible(boolean v): Faz com que o frame se torne visível (v=true) ou não (v=false). public void setdefaultcloseoperation(int op) : Faz a janela realizar uma determinada operação quando fecha. Mais comum: JFrame.EXIT_ON_CLOSE

Tornando os botões sensíveis ao eventos Será necessário importar a biblioteca event nas classes swing e awt import java.awt.*; import javax.swing.*; import java.awt.event.*; import javax.swing. event.*; public class Primeira_Tela extends JFrame implements ActionListener

Tornando os botões sensíveis ao eventos Será necessário importar a biblioteca event nas classes swing e awt import java.awt.*; import javax.swing.*; import java.awt.event.*; import javax.swing. event.*; public class Primeira_Tela extends JFrame implements ActionListener Tipos de eventos que serão obrigatoriamente tratados.

Agora o método construtor da classe public Primeira_Tela() { } setlayout(new BorderLayout()); add("center", lbl_mostrar = new JLabel ("ETIQUETA PARA ÍMPRESSÃO")); add("south", Painel_Botoes = new JPanel ()); Painel_Botoes.setLayout(new FlowLayout()); Painel_Botoes.add(bt_Escrever = new JButton ("ESCREVER")); Painel_Botoes.add(bt_Limpar = new JButton ("LIMPAR")); Painel_Botoes.add(bt_Sair = new JButton("SAIR DO SISTEMA")); bt_escrever.addactionlistener(this); bt_sair.addactionlistener(this); bt_limpar.addactionlistener(this); settitle("minha Primeira Tela Java"); setsize(400, 500); setvisible(true);

Tornando os botões sensíveis ao eventos public Primeira_Tela() { } setlayout(new BorderLayout()); add("center", lbl_mostrar = new JLabel ("ETIQUETA PARA ÍMPRESSÃO")); add("south", Painel_Botoes = new JPanel ()); Painel_Botoes.setLayout(new FlowLayout()); Painel_Botoes.add(bt_Escrever = new JButton ("ESCREVER")); Painel_Botoes.add(bt_Limpar = new JButton ("LIMPAR")); Painel_Botoes.add(bt_Sair = new JButton("SAIR DO SISTEMA")); bt_escrever.addactionlistener(this); bt_sair.addactionlistener(this); bt_limpar.addactionlistener(this); settitle("minha Primeira Tela Java"); setsize(400, 500); setvisible(true);

Tornando os botões sensíveis ao eventos public Primeira_Tela() { } setlayout(new BorderLayout()); add("center", lbl_mostrar = new JLabel ("ETIQUETA PARA ÍMPRESSÃO")); add("south", Painel_Botoes = new JPanel ()); Painel_Botoes.setLayout(new FlowLayout()); Painel_Botoes.add(bt_Escrever = new JButton ("ESCREVER")); Painel_Botoes.add(bt_Limpar = new JButton ("LIMPAR")); Painel_Botoes.add(bt_Sair = new JButton("SAIR DO SISTEMA")); bt_escrever.addactionlistener(this); bt_sair.addactionlistener(this); bt_limpar.addactionlistener(this); settitle("minha Primeira Tela Java"); setsize(400, 500); Tamanho da janela setvisible(true); Título da janela Torna a janela visível

Tratamento de eventos public void actionperformed(actionevent e) { if(e.getsource()==bt_sair) {System.exit(0); } if(e.getsource()==bt_escrever) {lbl_mostrar.settext("andré APARECIDO DA SILVA");} if(e.getsource()==bt_limpar) { lbl_mostrar.setbackground( new Color(255,255,255) ); lbl_mostrar.settext("etiqueta PARA ÍMPRESSÃO"); } }

A TELA

Outro programa GUI em Java import javax.swing.*; public class Ola2 { } public static void main(string[] args) { JFrame frame = new JFrame( Aula de Programação web"); final JLabel label = new JLabel( Olá, Ana Carolina Bertoldi"); } frame.getcontentpane().add(label); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.pack(); frame.setvisible(true); pack() faz com que a janela seja ajustada para o tamanho preferido de todos os seus subcomponentes.

COMO SERIA UMA TELA DE UM PROGRAMA QUE CONVERTESSE GRAUS CELSIUS PARA FIRERAIT?

Eu imaginei assim

E para implementar ficaria como?

import javax.swing.*; import javax.swing.event.*; import java.awt.*; import java.awt.event.*; public class ConversorFahrenheit extends JFrame implements ActionListener { JLabel lbl_resultado; JButton bt_converter, bt_sair, bt_limpar; JPanel Painel_Botoes = new JPanel(new FlowLayout(FlowLayout.CENTER)); JPanel Painel_Oeste = new JPanel(new GridLayout(2, 1)); JPanel Painel_Oeste1 = new JPanel(new FlowLayout(FlowLayout.RIGHT)); JPanel Painel_Oeste2 = new JPanel(new FlowLayout(FlowLayout.RIGHT)); JPanel Painel_Centro = new JPanel(new GridLayout(2, 1)); JPanel Painel_Centro1 = new JPanel(new FlowLayout(FlowLayout.LEFT)); JPanel Painel_Centro2 = new JPanel(new FlowLayout(FlowLayout.LEFT)); JTextField txt_valor_para_conversao = new JTextField(30);

public ConversorFahrenheit() { setlayout(new BorderLayout()); getcontentpane().add("south",painel_botoes); getcontentpane().add("center", Painel_Centro); getcontentpane().add("west", Painel_Oeste); Painel_Oeste.add(Painel_Oeste1); Painel_Oeste1.add(new JLabel("Informe o Valor: ")); Painel_Oeste.add(Painel_Oeste2); Painel_Oeste2.add(new JLabel("Resultado: "));...

Painel_Centro.add(Painel_Centro1); Painel_Centro.add(Painel_Centro2); Painel_Centro1.add(txt_Valor_para_Conversao); Painel_Centro2.add(lbl_Resultado = new JLabel ("...")); lbl_resultado.setbackground(color.orange);

getcontentpane().add("south", Painel_Botoes = new JPanel ()); Painel_Botoes.setLayout(new FlowLayout()); } Painel_Botoes.add(bt_Converter = new JButton ("CONVERTER")); Painel_Botoes.add(bt_Limpar = new JButton ("LIMPAR")); Painel_Botoes.add(bt_Sair = new JButton("SAIR DO SISTEMA")); bt_converter.addactionlistener(this); bt_sair.addactionlistener(this); bt_limpar.addactionlistener(this); settitle("coversor para graus Fahrenheit"); pack(); setvisible(true); FIM DO METODO CONSTRUTOR

Método para execução public static void main (String args []) { new ConversorFahrenheit(); }

Compilando até aqui, apesar de não haver erros de grafia ou lógica ainda da erro

Compilando até aqui, apesar de não haver erros de grafia ou lógica ainda da erro

Faltou implementar os métodos ouvintes

public void actionperformed(actionevent e) { if(e.getsource()==bt_sair) {System.exit(0);} if(e.getsource()==bt_converter) { if(txt_valor_para_conversao.gettext().equals("")) {lbl_resultado.settext("digite um valor válido acima!!!");} else { double Numero = Double.parseDouble(txt_Valor_para_Conversao.getText()); Numero = (Numero * 1.8) + 32; lbl_resultado.settext(numero+"º"); } } if(e.getsource()==bt_limpar) { lbl_resultado.setbackground( new Color(255,255,255) ); lbl_resultado.settext("digite um valor acima e clique em converter"); txt_valor_para_conversao.settext(""); } }

Minha tela ficou funcionando assim

VAMOS PRATICAR... Crie uma classe que a tenha uma JLabel e ao clicar num botão apareça o texto DISCIPLINA DE LINGUAGEM DE PROGRAMAÇÃO!!! Crie uma classe para calculo de IMC

Atividade valendo 1,0 ponto Elaboraremos na próxima semana Elaboraremos uma calculadora Para juros compostos usando java