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

Documentos relacionados
Criando interfaces com o usuário. Continuação

Interface Gráfica. Prof. Marcelo Cohen

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. Aula 1- Interfaces Gráficas com Swing

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

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

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

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

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

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

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

Curso de Aprendizado Industrial Desenvolvedor WEB

Tiago Alves de Oliveira. Tiago Alves de Oliveira

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

COM220 Aula 17: Interface Gráfica Containers Swing

Gerenciamento de Layout

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

Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 2o. Semestre de 2017 Prof.

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 II. Cassio Diego

Pacote Java Swing Parte 1

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

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Prof. Fernando V. Paulovich 25 de julho de SCC Programação Orientada a Objetos

Componentes Parte 01

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

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

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

MÓDULO 4 SWING Parte 3

Desenvolvimento de Aplicações Desktop

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

Interfaces Gráficas com Swing. Professor Leonardo Larback

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

Java First-Tier: Aplicações. Abstract Window Toolkit (AWT) Construção de Interfaces com Swing (I) Swing: Características

Interface gráfica em Java: Swing e SWT

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

Interface Gráficas Parte I. Bruno Crestani Calegaro

8. Interfaces Gráficas de Usuário

JMENU, JDESKTOPPANE E JINTERNALFRAME

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

Linguagem de Programação Visual

TIC - Programação Visual. Componentes. Prof. Edwar Saliba Júnior Setembro de Unidade 14 Componentes 1

AULA 10 - CCT0024 Linguagem de Programação Objetivos da aula. Janelas para leitura e exibição de textos

Técnicas de Programação II

Gerenciadores de Layout

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

Interfaces Gráficas (GUIs) em Java usando Swing

JAVA. Gerenciadores de Layout. Tiago Alves de Oliveira

Elaborando as Interfaces Aulas 43, 44 e 45

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

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

Java Standard Edition (JSE)

Programação Gráfica em Java Alguns Componentes javax.swing

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

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

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

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

Orientação a Objetos

Programação Orientada a Objetos II

Swing Módulo II. Tiago Alves de Oliveira. Tiago Alves de Oliveira 1

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Componente JOptionPane Layout Null Tratamento de Eventos. Action Listener

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

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

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

Tratamento de Eventos

Interfaces Gráficas (GUIs) em Java usando Swing

Unidade 10: Introdução à Programação de GUIs com Swing Prof. Daniel Caetano

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

4 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

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

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

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: Interações Complexas

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

Arquivos. Prof. Leonardo Barreto Campos 1

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

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

Criação de Applets Package: Class Name Base Class: Generate header comments: Can run standalone: Generate Standard methods:

Slide 1 Deitel/Deitel, 8e. Java Como programar Copyright 2010 Pearson Education

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

CAIXAS DE DIÁLOGO COM JOPTIONPANE

Aula 4. TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 2014 Marcelo Henrique dos Santos -

Aula Prática Criando Views e Controles

Curso Java Starter. 1

Programação Visual em Java

Elaborando as Interfaces dos trabalhos das aulas 25, 26 e 27.

Processo Básico: OO + Eventos. Java First-Tier: Aplicações. Construção de Interface gráfica. Exemplo. Exemplo. Exemplo. Hierarquia de Composição

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

Elaborando as Interfaces Aulas 31, 32 e 33

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

Interface Gráfica - Swing

Adding User Interaction

Módulo 1. Introdução. Programação Orientada a Objetos I Java (Rone Ilídio)

Programação Orientada a Objetos

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

Cadastro de Cargos, Departamentos e Funcionários

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

Transcrição:

Componentes GUI GUI Grafical User Interface São construídas a partir de componentes GUI chamados de controles ou widgets (windows gadgets engenhocas de janela). Ex: JOptionPane fornece caixas de diálogos pré- empacotadas para entrada/saída, como vimos ao usarmos showmessagedialog e showinputdialog. Existe diversas funcionalidades disponíveis nas bibliotecas de classes Java destinadas a prover a comunicação homem-máquina máquina via interface gráfica. Os elementos básicos para criar um GUI residem em dois pacotes: Swing e AWT. AWT: Abstract Window Toolkit (pacote java.awt) são classes básicas para construção de interfaces com janelas. Swing: Fornece melhores alternativas aos componentes da AWT. Implementado somente a partir da versão 1.2.

Componentes GUI A aparência e maneira como um usuário pode interagir com componentes AWT diferem de acordo com a plataforma. Componentes Swing permitem especificar uniformemente a aparência e o comportamento para o aplicativo em todas as plataformas ou utilizar aparência e comportamento personalizados em cada plataforma. Componentes Swing são implementados diretamente na plataforma Java sendo mais portáveis e flexíveis que os componentes originais do pacote AWT que foram implementados na GUI da plataforma subjacente, ou seja em código nativo. Por isto geralmente Swing são mais usados.

Componentes GUI Estas classes são parte de um conjunto mais genérico de capacidades gráficas chamado de Java Foundation Classes, ou JFC. Componentes leves X Componentes pesados: São chamados de componentes pesados aqueles que são vinculados à plataforma local, ou dependem do sistema de janela da plataforma local para determinar seu comportamento e aparência, já os componentes leve são aqueles que não estão vinculados a componentes GUI reais da plataforma subjacente. Alguns componentes Swing também são componentes pesados, requerem interação direta com o sistema de janela local o que pode restringir sua aparência e funcionalidade. Componentes leves fornecem melhor controle sobre sua aparência e funcionalidade.

Componentes GUI Duas palavras chave para nossa compreensão são: Componentes: Partes individuais a partir das quais uma GUI é construída. São botões, menus, itens de menu, caixas de seleção, etc. Tratamento de eventos: São as possíveis respostas disparadas por ações do usuário. Caso o usuário ative um componente o sistema gerará um evento que enviará uma notificação ao nosso sistema que poderá então chamar um de seus métodos.

Componentes GUI Suplerclasses comuns de muitos componentes swing

Componentes GUI Uma interface gráfica em Java é baseada em dois tipos de elementos: containers: : São componentes que servem para agrupar e exibir outros componentes components: : São botões, labels, scrollbars, etc. Todo programa que ofereça uma interface gráfica vai conter pelo menos um container, que pode ser: JFrame janela principal do programa JDialog janela para diálogos JApplet janela para Applets Para construirmos uma interface gráfica em Java adicionamos componentes (botões, menus, textos, tabelas, listas, etc) sobre a área de um container Em nosso exemplo iremos usar um JFrame:

Vejamos uma janela simples. Esta janela possui os seguintes elementos: JFrame: Armazena os demais componentes JPanel: Serve para facilitar o posicionamento do botão label JButton: O botão JLabel: O texto: Quantidade de clicks: 0 Dos elementos acima: JFrame são containers top-level, sempre haverá um dos 3 anteriormente citados JPanel são containers intermediate, podem estar ou não presentes (mas geralmente estão). JButton e JLabel são componentes atômicos, não podem ser usados para conter outros e geralmente respondem ao usuário.

Vejamos o código do exemplo anterior: import javax.swing.*; public class ExJanela public static void main(string args[]) JFrame frame = new JFrame("Aplicação Swing"); JButton but = new JButton("Sou um botão"); JLabel texto = new JLabel("Quantidade de clicks: 0"); JPanel painel = new JPanel(); painel.add(but); painel.add(texto); frame.getcontentpane().add(painel); frame.pack(); frame.show();

Como poderíamos adicionar funcionalidades à janela? Usando herança para gerar uma nova classe a partir de JFrame. Vejamos como ficaria o código caso usássemos herança:

import javax.swing.*; public class ExJanela2 extends JFrame JButton but; JLabel texto; JPanel painel; public ExJanela2() super("aplicação Swing"); but = new JButton("Sou um botão"); texto = new JLabel("Quantidade de clicks: 0"); painel = new JPanel(); painel.add(but); painel.add(texto); getcontentpane().add(painel); public static void main(string args[]) ExJanela2 janela = new ExJanela2(); janela.setdefaultcloseoperation(windowconstants.dispose_on_close); // Nova linha janela.pack(); janela.show();

Observe a nova linha acrescentada ao método main. O método setdefaultcloseoperation especifica como a janela irá se comportar ao ser fechada. Seus possíveis argumentos são: DISPOSE_ON_CLOSE Destrói a janela DO_NOTHING_ON_CLOSE Desabilita a opção de fechar a janela HIDE_ON_CLOSE Apenas fecha a janela Teste o programa variando os parâmetros de setdefaultcloseoperation e verificando o que acontece. Temos uma questão ainda não resolvida: Como iremos organizar os componentes em um JPanel? Java oferece diversos layouts para estruturação de componentes. Para JPanel o layout default é FlowLayout que distribui os componentes na horizontal. Vejamos alguns outros possíveis layouts:

BoxLayout: Posiciona os componentes na horizontal ou vertical. Ex: public class ExJanela2 extends JFrame... public ExJanela2()... painel = new JPanel(); painel.setlayout(new BoxLayout(painel,BoxLayout.Y_AXIS)); painel.add(but); painel.add(texto);... public static void main(string args[])...

import javax.swing.*; import java.awt.*; public class TestaContainer public static void main(string args[]) int i; JFrame janela = new JFrame("Teste de janela"); janela.setbounds(200,200,400,150); janela.setdefaultcloseoperation(windowconstants.dispose_on_close); FlowLayout flow = new FlowLayout(FlowLayout.LEFT); janela.setlayout(flow); for (i = 1; i <= 6; i++) janela.add(new JButton("aperte" + i)); janela.setvisible(true);

Façamos alguns exercícios bem simples: 1) Implemente e execute o código abaixo no BlueJ. 2) Redimensione interativamente o tamanho da janela e observe o posicionamento dos botões. 3) Coloque no construtor de FlowLayout um argumento FlowLayout.LEFT e observe o resultado. 4) Adicione ao programa os seguintes componentes: JLabel label1 = new JLabel("Exemplo de texto"); JTextField campo = new JTextField(15); Obs: Não esqueça de adicioná-los à janela.