Programação Orientada a Objetos em Java · Componentes da Interface: Componentes da Interface...

Preview:

Citation preview

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

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.*;

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.*;

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.*;

Principais componentes da Interface: BUTTON;

CANVAS;

CHECKBOX;

LABEL;

LIST;

CHOICE;

SCROLLBAR;

TEXTFIELD;

TEXTAREA

AWT – Componentes da Interface

AWT – Exemplo

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

AWT – Containers - Exemplo

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

AWT – Layout - Exemplo

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.*;

JButton (public javax.swing.JButton btnMiddleButton; )

JCheckBox (public javax.swing.JCheckBox chkOption; )

O que é SWING – Componentes Básicos

JComboBox (public javax.swing.JComboBox comboAnimal; )

JRadioButton(public javax.swing.JRadioButton rdBtnAnimal; )

O que é SWING – Componentes Básicos

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

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

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

Forma mais fácil: Eclipse

Eclipse – Um novo Projeto

Eclipse – Um novo Projeto

Eclipse – Um novo Projeto

Eclipse – Um novo arquivo para o Projeto

Eclipse – Umnovo arquivo para o Projeto

Eclipse – Umnovo arquivo para o Projeto

Eclipse – Um novo arquivo para o Projeto

Eclipse – Hello World

Eclipse – Run As -> Java Application

Eclipse – Hello World

GUI em Java

Dúvidas?

Recommended