28
Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 – Projeto de Programas Programação Orientada a Objetos em Java GUI – Graphical User Interface Professor: César Melo Slides baseados em materiais preparados pelo prof. Horácio Fernandes

Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

Embed Size (px)

Citation preview

Page 1: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

Universidade Federal do AmazonasDepartamento de Ciência da ComputaçãoIEC481 – Projeto de Programas

Programação Orientada a Objetos em Java

GUI – Graphical User Interface

Professor: César Melo

Slides baseados em materiais preparados pelo prof. Horácio Fernandes

Page 2: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

As ferramentas de controle de janelas do java também conhecidas por AWT (Abstract Window Toolkit) são uns dos pontos fortes do java.

Estas ferramentas fornecem toda a funcionalidade que se podia esperar de um sistema moderno de janelas.

O AWT contém os mais usados componentes das interfaces gráficas atuais portanto habilita a aplicação a ser executada em sistemas gráficos completamente diferentes.

AWT – Abstract Windows Toolkitimport java.awt.*;

Page 3: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

Todos os componentes tem: Uma posição e tamanho; Uma cor e uma cor de fundo.

Componentes podem ser habilitados e desabilitados; Existe uma interface padrão para os componentes

tratarem eventos

AWT – Abstract Windows Toolkitimport java.awt.*;

Page 4: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

Componentes AWT podem ser divididos em três partes:

Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos destes componentes são: buttons, text labels, scrollbars, pick list e campos text-entry.

Containers: abrangem áreas nas quais os componentes da interface podem ser postos. Isto habilita os componentes a serem agrupados e a formarem um objeto mais coeso e fácil de ser manipulado. Um Panel é um exemplo deste tipo de componente.

Windows: são um tipo muito especial da classe Component. Todos os outros componentes são adicionados dentro de uma window. Normalmente quando se programa applets, windows não são usadas.

AWT – Abstract Windows Toolkitimport java.awt.*;

Page 5: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

Principais componentes da Interface: BUTTON;

CANVAS;

CHECKBOX;

LABEL;

LIST;

CHOICE;

SCROLLBAR;

TEXTFIELD;

TEXTAREA

AWT – Componentes da Interface

Page 6: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

AWT – Exemplo

Page 7: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

Containers são simplesmente componentes que podem conter outros componentes.

Pense como uma maneira de subdividir uma área para construir a interface com o usuário, aonde os componentes podem ser colocados.

Existem dois tipos de containers: Panels e Windows. A maior diferença entre eles é que um Panel é definido

como uma área em uma janela já existente e Window é uma janela completamente nova. Quando a aplicação é uma Applet o único container que pode ser aplicado é o Panel.

AWT – Containers

Page 8: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

AWT – Containers - Exemplo

Page 9: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

Layout pode ser interpretado como uma máscara que é colocada sobre um container para definir como os seus componentes serão adicionados.

Normalmente é usado o layout BorderLayout(), baseado nos pontos cardeais.

AWT – Layout

Page 10: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

AWT – Layout - Exemplo

Page 11: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

Swing é um toolkit que inclui um extenso conjunto de componentes para construir GUIs e adicionar mais interatividade em aplicações Java.

Para criar um programa em Java com GUI, você terá que aprender sobre Swing.

O swing é uma extensão das classes AWT Inclui componentes como: tabelas e seus controles, listas e

seus controles, estruturas de árvores e seus controles, botões e etc.

Até mesmo o suporte a internacionalização e à acessibilidade é possível.

Suporta variados look and feels e a capacidade de que o desenvolvedor crie o seu próprio look and feel.

Swing é parte do Java Foundation Classes (JFC).

O que é SWINGimport javax.swing.*;

Page 12: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

JButton (public javax.swing.JButton btnMiddleButton; )

JCheckBox (public javax.swing.JCheckBox chkOption; )

O que é SWING – Componentes Básicos

Page 13: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

JComboBox (public javax.swing.JComboBox comboAnimal; )

JRadioButton(public javax.swing.JRadioButton rdBtnAnimal; )

O que é SWING – Componentes Básicos

Page 14: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

JList (public javax.swing.JList listOptions; ) JMenu (public javax.swing.JButton btnMiddleButton; ) JTextField(public javax.swing.JTextField txtFieldName; ) JSlider (public javax.swing.JSlider sldMaximize; ) JSpinner (public javax.swing.JSpinner Date; ) ...

O que é SWING – Componentes Básicos

Page 15: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

1 import java.awt.*;2 import java.awt.event.*;3 import javax.swing.*;4

5 public class LabelTest extends JFrame{6 private JLabel L1,L2,L3;78 public LabelTest(){9 super("Testando a classe JLabel");10 Container container = getContentPane();

11 container.setLayout(new FlowLayout());

12

13 L1 = new JLabel("Label com texto");

14 L1.setToolTipText("Este e o label 1");

15 container.add(L1);

16

17 Icon martelo = new ImageIcon("c:/emmsr2005/java/tribunal_etica.gif");

18 L2 = new JLabel("Label com texto e icone",martelo,SwingConstants.LEFT);

19 L2.setToolTipText("Este e o Label 2");

20 container.add(L2);

21

22 L3 = new JLabel();

23 L3.setText("Label com texto, icone como botao");

24 L3.setIcon(martelo);

25 L3.setHorizontalTextPosition(SwingConstants.CENTER);

26 L3.setVerticalTextPosition(SwingConstants.BOTTOM);

27 L3.setToolTipText("Este e o label 3");

28 container.add(L3);

29

O que é SWING – Exemplo

Page 16: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

30 setSize(275,170);

31 setVisible(true);

32 }

33 public static void main(String args[]){

34 LabelTest aplicacao = new LabelTest();

35 aplicacao.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

36 }

37 }

O que é SWING – Exemplo

Page 17: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

Forma mais fácil: Eclipse

Page 18: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

Eclipse – Um novo Projeto

Page 19: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

Eclipse – Um novo Projeto

Page 20: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

Eclipse – Um novo Projeto

Page 21: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

Eclipse – Um novo arquivo para o Projeto

Page 22: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

Eclipse – Umnovo arquivo para o Projeto

Page 23: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

Eclipse – Umnovo arquivo para o Projeto

Page 24: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

Eclipse – Um novo arquivo para o Projeto

Page 25: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

Eclipse – Hello World

Page 26: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

Eclipse – Run As -> Java Application

Page 27: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

Eclipse – Hello World

Page 28: Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface abrangem todos os widgets e controles associados a uma interface gráfica. Exemplos

GUI em Java

Dúvidas?