Interface Gráfica. Prof. Marcelo Cohen



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

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

Pacote Java Swing Parte 1

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

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

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

Interface Gráficas Parte I. Bruno Crestani Calegaro

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

Curso de Aprendizado Industrial Desenvolvedor WEB

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

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

Técnicas de Programação II

Tratamento de Eventos

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

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

8. Interfaces Gráficas de Usuário

MÓDULO 4 SWING Parte 3

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

Programação Visual em Java

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

Programação Orientada a Objetos II

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

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

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

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

Gerenciadores de Layouts

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

1 Criando um aplicativo visual em Java

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

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

JFC/Swing. Java Avançado 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

Capítulo 12 Eventos de interacção

Programação Orientada a Objetos II

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

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

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

Gerenciamento de Layout

Programação Orientada a Objetos

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

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

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

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

Desenvolvimento de Aplicações Desktop

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

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

Introdução à Programação. Interfaces Gráficas

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

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

Especialização em Engenharia de Software - CEUT

Programação Gráfica em Java.

Natureza do Software e dos Sistemas

Desenvolvendo aplicações

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

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

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

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

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

Roteiro para criação de Applet

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

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

Programação Orientada a Objetos (DPADF 0063)

JMENU, JDESKTOPPANE E JINTERNALFRAME

Curso Java Starter. 1

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.

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

Criação de Applets com o JBuilder Professor Sérgio Furgeri

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

Interfaces Gráficas com Swing. Professor Leonardo Larback

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES

Componentes Parte 03

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

Criação de telas com Swing

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

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

Curso de Java Módulo II Swing Fábio Mengue Centro de Computação - Unicamp

JAVA. Gerenciadores de Layout. Tiago Alves de Oliveira

Análise de Programação

{ System.exit(0); Exemplo (WindowAdapter) import java.awt.*; import java.awt.event.*;

Análise de Dados do Financeiro

package br.com.cadastro.visao;

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

Programação. 3 Período

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

CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA A F B G C H D I E J

UNIPAC-TO POOII. Java NetBeans. Aplicações visuais e componentes. Giovanni Camargo Silva giovanni@unipato.com.br

Exemplo 1. Um programa que cria uma instância de uma classe que herda da classe Frame

Como construir aplicaçõ e applets

Interfaces Gráficas: Interações Complexas

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

Cronograma de Aulas 2º Módulo 11/07/2009 a 05/09/2009

Transcrição:

Interface Gráfica Prof. Marcelo Cohen

1. Visão geral da interface gráfica em Java A API (Application Programming Interface) para utilizar recursos gráficos é separada em dois componentes principais: AWT (Abstract Windowing Toolkit): contém o conjunto de classes necessárias para a construção de programas com interfaces de janelas. SWING: contém o conjunto de classes complementares para a construção de interfaces avançadas (somente em Java 1.2) JFC API AWT SWING JFC : Java Foundation Classes

Uma interface gráfica em Java é baseada em dois elementos: containers: servem para agrupar e exibir outros componentes components: botões, labels, scrollbars, etc. Dessa forma, todo programa que ofereça uma interface vai possuir pelo menos um container, que pode ser: JFrame - janela principal do programa JDialog - janela para diálogos JApplet - janela para Applets Para fins de exemplificação, iremos utilizar um JFrame.

Exemplo: uma janela simples Possui os seguintes elementos: JFrame: armazena os demais componentes JPanel: painel, serve para facilitar o posicionamento do botão e do label JButton: o botão I m a Swing button! JLabel: o texto Number of button clicks: 0 JFrame s são top-level containers: sempre estão presentes JPanel s são intermediate containers: 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 normalmente respondem ao usuário

import javax.swing.*; class SimpleFrame public static void main(string args[]) JFrame frame = new JFrame("Swing Application"); JButton but = new JButton("I'm a Swing Button!"); JLabel texto = new JLabel("Number of button clicks: 0"); JPanel painel = new JPanel(); painel.add(but); painel.add(texto); frame.getcontentpane().add(painel); frame.pack(); frame.show(); } } Problema: como adicionar funcionalidade à janela?

Solução: usando herança, para gerar uma nova classe a partir de JFrame: import javax.swing.*; class SimpleFrame extends JFrame private JButton but; private Jlabel texto; private Jpanel painel; public SimpleFrame() // cria um frame com tudo dentro super("swing Application"); but = new JButton("I'm a Swing Button!"); texto = new JLabel("Number of button clicks: 0"); painel = new JPanel(); painel.add(but); painel.add(texto); } getcontentpane().add(painel); } public static void main(string args[]) SimpleFrame frame = new SimpleFrame(); frame.pack(); frame.show();

Questões ainda não respondidas: Como organizar os componentes em um JPanel? Java oferece diversos layouts para estruturação de componentes Por exemplo, para JPanel o layout default é FlowLayout, que distribui os componentes na horizontal. Mas e se quisermos distribuir de outro modo? Basta trocar o layout por outro!

Box Layout: posiciona componentes na vertical ou horizontal import javax.swing.*; class SimpleFrame extends JFrame... public SimpleFrame() // cria um frame com tudo dentro super("swing Application");... painel.setlayout(new BoxLayout(painel,BoxLayout.Y_AXIS)); painel.add(but); painel.add(texto); } getcontentpane().add(painel);

Border Layout: organiza componentes em cinco áreas principais import javax.swing.*; import java.awt.*; class SimpleFrame extends JFrame Jbutton but,but2,but3,but4;... public SimpleFrame() // cria um frame com tudo dentro... painel.setlayout(new BorderLayout(3,3));... } painel.add(but,borderlayout.north); painel.add(but2,borderlayout.south); painel.add(but3,borderlayout.west); painel.add(but4,borderlayout.east); painel.add(texto,borderlayout.center);

Observe que é possível utilizar vários layouts para gerar o efeito desejado No exemplo acima, há dois JPanel, cada um responsável pelo layout de uma parte da interface: JPanel painelbot; // painel para os botões JPanel paineltexto; // painel para a área de texto e botão Há 4 botões para o primeiro painel... JButton but1, but2, but3, but4;... e uma área de texto (JTextArea) + um botão para o segundo painel JTextArea texto; JButton apaga;

O trecho de código abaixo cria e preenche o painel da esquerda: but1 = new JButton("Open"); but2 = new JButton("Save"); but3 = new JButton("Print"); but4 = new JButton("Exit"); painelbot = new JPanel(); painelbot.setlayout(new BoxLayout(painelbot,BoxLayout.Y_AXIS)); painelbot.add(but1); painelbot.add(but2); painelbot.add(but3); painelbot.add(but4);

E o seguinte, cria e preenche o painel da direita (observe a utilização do BorderLayout): texto = new JTextArea(); texto.setpreferredsize(new Dimension(100,100)); apaga = new JButton("Erase"); paineltexto = new JPanel(); paineltexto.setlayout(new BorderLayout()); paineltexto.add(texto, BorderLayout.CENTER); paineltexto.add(apaga, BorderLayout.SOUTH);

Falta apenas adicionar ambos ao content pane - detalhe: o layout padrão para content panes é BorderLayout, por isso não é necessário especificá-lo. getcontentpane().add(painelbot,borderlayout.west); getcontentpane().add(paineltexto,borderlayout.center); Observe a especificação de posicionamento central da área de texto, para que esta ocupe efetivamente a maior parte do painel.