Componentes GUI GUI – Grafical User Interface – São construídas a partir de componentes GUI chamados de controles ou widgets (windows gadgets – engenhocas.

Slides:



Advertisements
Apresentações semelhantes
Exemplos de código WebForm1.aspx: Listas.aspx: TestaMarcadores.aspx:
Advertisements

APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique
Programação em Java Prof. Maurício Braga
1 Interface Gráfica em Java Profa. Dra. Angélica Félix de Castro.
Eventos Marco Antonio, Arquiteto de Software – TJDF Novembro/2005
Criação de telas com Swing Arquiteto de Software – TJDF
Herança, Polimorfismo e Classes Abstratas em Java
Java Conexão com Banco de Dados
APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE III Prof. Thiago Pereira Rique
Prof. Thiago Pereira Rique
Programação orientada a objetos
Capítulo 14 Componentes GUI: Parte 1
14.17 Tratamento de Eventos de Teclado
14.6  Campos de texto e uma introdução ao tratamento de eventos com classes aninhadas Um usuário interage com uma GUI para indicar as tarefas que o aplicativo.
Linguagens de Programação Orientadas a Objetos
Graphical User Interface (GUI) Prof(o): Alexandre Parra.
Linguagem de Programação II
Capítulo 15 Swing – Parte 1.
Capítulo 15 Swing – Parte 2.
Tutorial II: Tratando eventos em Java
Tutorial I: Criando a interface de uma aplicação em Java
Aula de reposição Prof. Grace e Ângela
Classes e objetos P. O. O. Prof. Grace.
Tecnologias para Internet
Linguagem de Programação JAVA
CRIANDO OBJETOS EM JAVA
Nazareno Andrade (baseado no material de Hyggo Almeida)
Programação Visual em Java
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Java – Programação Gráfica
Linguagem de Programação III
Interface Grafica - Swing Professor Rafael Monteiro
Interface Gráfica (material da Profa. Luciana Nedel - www. inf. pucrs
Linguagem de Programação JAVA
Introdução a aplicativos Java
José Pacheco A. Prado. Você pode definir diferentes cursores em seus projetos. Para isto basta utilizar a função setCursor.
Linguagem de Programação JAVA
Professor: Márcio Amador
LINGUAGEM DE PROGRAMAÇÃO VISUAL II
7 - Criação de Páginas Web
Professora Lucélia Oliveira
POO.
Jpanel e Diagramadores
ÁREA DE TRABALHO DO WINDOWS
Aulas 2 e 3 – Java – Prof. Marcelo Heitor # O método main e argumentos na linha de comando; # Fluxo padrão de entrada e saída; # A classe JOptionPane;
Paradigmas da Programação – Semestre 1 – Aula 9 Professor: Eduardo Mantovani )
POO - II Prof.: Jean Carlo Mendes
POO Interface Gráfica - Swing
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Introdução às Java Threads
Java Kickstart, day 2 Semelhanças com linguagem C.
Aula Prática 4 Monitoria IP/CC (~if669).
Linguagem de Programação JAVA
Introdução PLB-II (Java) – Prof. Alberto  Mais componentes da GUI.
Herança e Arquitetura em camadas
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
GUI – Graphic User Interface Prof. M.Sc. Ronnison Reges Vidal.
Programação Prof.: Bruno Rafael de Oliveira Rodrigues.
1 SUIT - Simple User Interface Toolkit Maria Alice Grigas Varella Ferreira EP-USP Abril 2003.
Programação Gráfica em Java Introdução
UNIVERSIDADE FEDERAL DE SANTA CATARINA CTC - CENTRO TECNOLÓGICO INE - DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DISCIPLINA DE COMPUTAÇÃO COM OBJETOS DISTRIBUÍDOS.
Classes abstratas São classes das quais não se pode instanciar objetos. São classes das quais não se pode instanciar objetos. Seu objetivo é ser herdada.
CURSO JAVA BÁSICO Módulo 9 – slide 1 Módulo 10 Threads.
Java Módulo II Projeto Final.
Programação Gráfica em Java Swing Aula Na aula passada vimos: Thread Animação Técnica de desenho eficiente (double-bufferring)
Principais Classes Swing AWT  As classes e interfaces localizadas nos pacotes:  java.awt  javax.swing  são recursos para o desenvolvimento de GUIs.
JFC e Swing Thiago Medeiros Barros 18/08/2011. JFC Java Foundation Classes é um conjunto de componentes e serviços que simplificam o desenvolvimento e.
Módulo II Capítulo 5: Interface Gráfica William Ivanski Curso de Programação C#
Elaborando Interfaces
EXERCÍCIOS DA AULA PASSADA
Transcrição da apresentaçã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 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.

Suplerclasses comuns de muitos componentes swing 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 , podem ser de alto nível ou intermediários. 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 (top-level containers ) 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 (container intermediário) 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.setVisible(true); }

Como poderíamos adicionar funcionalidades à janela 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 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. Acrescente a linha painel.setLayout(new BoxLayout(painel,BoxLayout.Y_AXIS)); Observe o que acontece:

BoxLayout.Y_AXIS posiciona os componentes na vertical, se colocar BosLayout.X_AXIS irá posicional na horizontal. 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[])

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.

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.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); }