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
AWT Abstract Windows Toolkit import java.awt.*; As ferramentas de controle de janelas, conhecidas por AWT (Abstract Window Toolkit), são uns dos pontos fortes do java. Estas ferramentas fornecem toda a funcionalidade que se pode esperar de um sistema de janelas. O AWT contém os componentes de interfaces gráficas mais usados portanto habilita a aplicação a ser executada em sistemas gráficos completamente diferentes.
AWT Abstract Windows Toolkit import 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 Toolkit import 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. E.g 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. E.g Panel 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 Componentes da Interface Principais componentes da Interface: BUTTON; CANVAS; CHECKBOX; LABEL; LIST; CHOICE; SCROLLBAR; TEXTFIELD; TEXTAREA
AWT Exemplo
AWT Containers 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 Exemplo
AWT Layout 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 Exemplo
O que é SWING import javax.swing.*; 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.
O que é SWING Componentes Básicos 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 Exemplo 1 2 3 4 import java.awt.*; import java.awt.event.*; import javax.swing.*; 5 6 7 8 9 10 public class LabelTest extends JFrame{ private JLabel L1,L2,L3; 11 public LabelTest(){ super("testando a classe JLabel"); Container container = getcontentpane(); 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 } }
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 Um novo arquivo para o Projeto
Eclipse Um novo 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?