• Nenhum resultado encontrado

INTERFACE GRÁFICA EM JAVA

N/A
N/A
Protected

Academic year: 2019

Share "INTERFACE GRÁFICA EM JAVA"

Copied!
29
0
0

Texto

(1)

INTERFACE GRÁFICA EM JAVA

PROGRAMAÇÃ

(2)

 Interface gráfica em Java

 Interface gráfica com AWT

 Componentes

 Gestores de Layout

 Interface gráfica com Swing

 Componentes básicos de uma interface gráfica  Botões

 Caixas de seleção  Caixas de texto  Listas

 Paineis

 Gestores de Layout

 Tratamento de eventos

 Eventos em botões  Eventos de teclado  Eventos de mouse

PROGRAM

AÇÃO

(3)

 As aplicações gráficas criam uma GUI

(Graphical User Interface).

 Definição de componentes e disposição na

tela, interação com o utilizador.

 O Java possui duas bibliotecas gráficas: AWT

(Abstract Window Toolkit) e Swing. Todas as classes do pacote Swing são extensões do pacote AWT, javax.swing.

3

Prof. Nobre - Email: macaba.pedro@gmaill.com

PROGRAM

AÇÃO

(4)

GUI: Graphical User Interface ou Interface

Gráfica do Utilizador, são os componentes visuais que permitem a interação com o programa por meio de periféricos de

entrada.

Bibliotecas Gráficas: Fornecem um conjunto

de objetos, métodos e classes auxiliares para criação de interfaces gráficas.

PROGRAM

AÇÃO

(5)

 As bibliotecas gráficas podem ser:

AWT (Abstract Window Toolkit): foi a primeira

biblioteca para interfaces gráficas em Java

Standard Widget Toolkit (SWT): desenvolvido

pela IBM e hoje é mantido pela Eclipse

Foundation, utiliza outras bibliotecas gráficas nativas do sistema operativo

Swing: desenvolvida pela Sun e independente da

plataforma, ou seja, é capaz de renderizar por conta própria todos os componentes

5

Prof. Nobre - Email: macaba.pedro@gmaill.com

PROGRAM

AÇÃO

(6)

 O Swing consiste em um conjunto de

componentes gráficos (extensões dos

componentes AWT e novos componentes como representação de árvores e painéis

tabulados), que agregam o conceito de look and feel (L&F), ou seja, a capacidade de um mesmo componente assumir aparências

diferentes sem a necessidade de mudanças no seu código.

PROGRAM

AÇÃO

(7)

 uma aplicação Java que se adapte à

aparência gráfica do sistema operacional em que for executado – assumindo um aspecto semelhante as demais janelas Windows, Linux, Solaris, Macintosh, etc

 codificar apenas a funcionalidade do

componente e a sua relação com o modelo de dados ao qual está associado, deixando a sua aparência a cargo do gestor de interface do utilizador (UI Manager)

7

Prof. Nobre - Email: macaba.pedro@gmaill.com

PROGRAM

AÇÃO

(8)

 Um componente é uma unidade

independente que inclusive pode ser utilizado por outros componentes. Os

principais containers em relação à API Java:  javax.swing.JFrame

 javax.swing.Jpanel

 javax.swing.JApplet

PROGRAM

AÇÃO

(9)
(10)

 Um componente é uma unidade

independente que inclusive pode ser

utilizado por outros componentes. Os mais comuns são:

JLabel: Objeto não editável que exibe um texto

ou imagem;

JTextField: editavel ou não, este objecto recebe

e apresenta dados introduzidos pelo utilizador;

JComboBox: Cria uma lista de opções que

permite selecção individual;

JList: Cria uma lista de opções que permite

selecção múltipla.

PROGRAM

AÇÃO

(11)

 Um componente é uma unidade

independente que inclusive pode ser

utilizado por outros componentes. Os mais comuns são:

JButton: permite a acção de determinado

evento;

JCheckBox: Caixa de seleção que pode ser

marcada ou desmarcada.

JFrame: permite o armazenamento de

componentes.

JPanel: Área onde outros componentes podem

ser inseridos e que facilita o posicionamento no Jframe

11

Prof. Nobre - Email: macaba.pedro@gmaill.com

PROGRAM

AÇÃO

(12)

 Container

 Serve para adicionar os componentes e

posicioná-los através do método setLayout

FlowLayout

 Os componentes são adicionados no Container da

esquerda para a direita até atingir a borda do Container, onde continuam na próxima linha. Podem ainda ser alinhados a esquerda,

centralizados e à direita

PROGRAM

AÇÃO

(13)

BorderLayout

 É organizado em regiões norte, sul, leste, oeste e

centro, ao serem adicionados nas regiões norte ou sul os componentes expandem-se

horizontalmente e nas regiões leste e oeste expandem-se verticalmente. Caso não seja especificada a região os elementos serão colocados na região central por padrão.

13

Prof. Nobre - Email: macaba.pedro@gmaill.com

PROGRAM

AÇÃO

(14)

GridLayout

 Os elementos são posicionados como se

estivessem em uma tabela, ocupando linhas e colunas. Cada célula aceita somente um

componente.

PROGRAM

AÇÃO

(15)

Look And Feel (L&F)

 chamar o método UIManager.setLookAndFeel()

passando o nome como parâmetro.

 Algumas opções:

 javax.swing.plaf.metal.MetalLookAndFeel;

 com.sun.java.swing.plaf.motif.MotifLookAndFeel;

 javax.swing.plaf.nimbus.NimbusLookAndFeel;

 com.sun.java.swing.plaf.windows.WindowsClassicLook

AndFeel;

15

Prof. Nobre - Email: macaba.pedro@gmaill.com

PROGRAM

AÇÃO

(16)

Eventos

 Tratamento de eventos com a

interface ActionListener e o método

chamado actionPerformed, acionado cada vez que um evento ocorre.

 O método actionPerformed recebe um objeto do

tipo ActionEvent como argumento, este objeto possui o método getSource() que nos diz qual componente acionou o evento.

PROGRAM

AÇÃO

(17)

Prof. Nobre - Email: macaba.pedro@gmaill.com 17

package avoPatterno;

import javax.swing.JFrame; // importação da classe JFrame public class novaAldeia {

JFrame aldeia = new JFrame(); // Criação de um Jframe chamado aldeia public novaAldeia() {

//Definição do titulo da janela aldeia.setTitle("ALDEIA");

//largura e alturra

aldeia.setSize(400, 200); // posição da janela

aldeia.setLocation(100, 100); //mostra a janela

aldeia.setVisible(true); }

(18)

package avoPatterno;

import javax.swing.JFrame; import javax.swing.JButton; public class novaAldeia {

JFrame aldeia = new JFrame();

//criar e instanciar um Jbutton chamado botao com texto “Aldeia”

JButton botao = new JButton("ALDEIA"); public novaAldeia() {

//Definimos o titulo daa janela aldeia.setTitle("ALDEIA");

//largura e alturra

aldeia.setSize(400, 200); // posição da janela

aldeia.setLocation(100, 100); // ADICIONAR O BOTAO A JANELA aldeia.add(botao);

//mostra a janela

(19)

Prof. Nobre - Email: macaba.pedro@gmaill.com 19

package avoPatterno;

import java.awt.FlowLayout;

import javax.swing.JFrame; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JPanel;

(20)

 Os componentes são dispostos da esquerda

para a direita na ordem em que são

adicionados. Quando não existe mais espaço em uma linha, é criada uma outra linha, de acordo com o tamanho do painel.

A sintaxe do construtor do FlowLayout é a seguinte: FlowLayout(alinhamento, espaçamento-horizontal,

(21)

Prof. Nobre - Email: macaba.pedro@gmaill.com 21

public class novaAldeia {

JFrame aldeia = new JFrame();

JPanel painel = new JPanel();

JLabel rotulo = new JLabel("Seu nome: ");

JTextField texto = new JTextField(5);

//crriar e instanciar um botao

(22)

public novaAldeia() {

//Definimos o titulo daa janela

aldeia.setTitle("ALDEIA");

//largura e alturra

aldeia.setSize(400, 200);

// posição da janela

aldeia.setLocation(100, 100);

aldeia.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); painel.setLayout(new

FlowLayout(FlowLayout.CENTER,30,10)); painel.add(rotulo);

painel.add(texto); painel.add(botao); aldeia.add(painel);

//mostra a janela

aldeia.setVisible(true); }

(23)

 Divide um contentor em um conjunto de

células espalhadas numa grade rectangular, de maneira que todas elas possuam a mesma dimensão.

 Pode-se dividir um contentor em linhas e

colunas de acordo com sua necessidade. Os componentes são dispostos na ordem em que aparecem, sendo inseridos na grade da

esquerda para a direita e de cima para baixo.

(24)

 Qualquer modificação no tamanho do

contentor será automaticamente alterado o tamanho dos componentes adicionados a ele, ou seja, os componentes são

redimensionados em função da nova dimensão do contentor.

(25)

 linhas --> número de linhas que terá o

contentor

 colunas --> número de colunas que terá o

contentor

 espaçamento-horizontal --> distância

horizontal entre os componentes

 espaçamento-vertical --> distância vertical

entre os componentes

(26)

import java.awt.GridLayout;

import javax.swing.DefaultListModel;

import javax.swing.JButton;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JList;

(27)

Prof. Nobre - Email: macaba.pedro@gmaill.com 27

public class Comuna {

//criamos um JFrame chamado 'janela'

JFrame janela = new JFrame();

//criamos um JPanel chamado painel

JPanel painel = new JPanel();

//criamos um JLabel chamado rotulo1 e com o texto "Escolha uma fruta: "

JLabel rotulo1 = new JLabel("Escolha uma fruta: ");

//criamos um JLabel chamado rotulo2 e com o texto "Escolha uma bebida: "

JLabel rotulo2 = new JLabel("Escolha uma bebida: ");

/* criamos um ListModel que é o objeto que contém as opções da lista *

* não se preocupem com isso agora, pois veremos com mais detalhes */

DefaultListModel listModel = new DefaultListModel();

//criamos um JList chamado lista e definimos onde estão os objetos da lista

JList lista = new JList(listModel);

//criamos um JComboBox chamado combo

JComboBox combo = new JComboBox();

//criamos um JButton chamado 'botao' e com o texto "OK"

(28)
(29)

INTERFACE GRÁFICA

PROGRAMAÇÃ

Referências

Documentos relacionados

• “Este dispositivo de retenção para crianças foi projetado para absorver parte da energia de um impacto do veículo, de forma a reduzir o risco do usuário,

A ´ultima coluna do gr´afico da figura 2 representa o tempo total de espera de cada processo em comparac¸˜ao ao tempo total de execuc¸˜ao, possibilitando a identificac¸˜ao

–interruptor simples – interruptor paralelo – tomada baixa monofásica sem aterramento; e) ponto de luz no teto – ponto de luz em parede. – interruptor simples –

Argumenta que a multa não é aplicável ao caso, que seu valor é exorbitante e não foi conferido prazo razoável para o cumprimento da decisão, além de causar

Estas foram reconhecidas por reproduzirem o sistema faxinal, que se constitui em uma organização social singular, existente na região centro-sul do Paraná. Esse caminho

n~o ensacadas confirmam a importância das abelhas como agentes polinizadores para cultura, sendo o mesmo verificado por FREE & WILLIAMS (1976) usando a mesma

A justificativa do presente trabalho se dá devido à importância do cuidado da enfermagem na assistência do pré-natal, que para autores como Duarte e Almeida

Parágrafo Sexto - O empregado, no mês de sua admissão, terá direito ao recebimento integral da cesta básica, caso trabalhe mais de 15 (quinze) dias no mês. Parágrafo Sétimo -