Pacote Java Swing Parte 1 José Gustavo de Souza Paiva Introdução GUI (Graphical User Interface) Mecanismo amigável ao usuário para interagir com um aplicativo Proporciona a um aplicativo uma aparência e comportamento distintos Construídas a partir de Componentes GUI Também chamados de widgets Exemplos Botões Caixas de texto Janelas etc.
Java Foundation Classes (JFC) Conjunto de pacotes usados para criação de interfaces gráficas com o usuário (GUI) Abstract Window Toolkit (AWT): framework gráfico Swing: componentes leves de interface Java2D: gráficos, textos e imagens Suporte a diversos tipos de acessibilidade, independente do sistema operacional Java Swing Objetivo: dotar uma aplicação Java com componentes GUI padronizados Mesma aparência (ou semelhante) em qualquer Sistema Operacional Principal diferença em relação ao pacote Java AWT
Hierarquia java.lang.object java.awt.component java.awt.container javax.swing.jcomponent AbstractButton JLabel JButton JToggleButton JList JRadioButton JCheckBox JTextField JTextArea JPanel Hierarquia Completa
JTextField Visual JFrame JPanel JFrame JLabel JButton JLabel JCheckBox JTextField JCheckBox JButton Interface Gráfica no Java Baseada em dois elementos Containers agrupam e exibem outros componentes Components botões, labels, scrollbars, etc Todo programa que ofereça uma interface vai possuir pelo menos um container JFrame janela principal do programa JDialog janela para diálogos JApplet janela para Applets
Interface Gráfica no Java Exemplo: uma janela simples Possui os seguintes elementos JFrame: armazena os demais componentes JPanel: painel, serve para facilitar o posicionamento e agrupamento do botão e do label JButton: o botão Eu sou um botão Swing! JLabel: o texto Número de 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 Classe JOptionPane Maneira simples de criar janelas em Java Úteis para mostrar mensagens, e para receber poucas informações do usuário Tipos comuns showconfirmdialog Janelas de Confirmação (yes/no/cancel) showinputdialog Entrada de dados pelo usuário showmessagedialog Mensagens sobre acontecimentos eventuais showoptiondialog Unificação dos outros três tipos
Classe JOptionPane Todas as janelas são modals Processamento do programa é paralisado Layout básico icon message input value option buttons Exemplos JOptionPane.showMessageDialog(null, "alerta", "alerta", JOptionPane.ERROR_MESSAGE); JOptionPane.showConfirmDialog(null, "Sim ou não?", "Sim ou não?", JOptionPane.YES_NO_OPTION);
Exemplos String inputvalue = JOptionPane.showInputDialog( "Por favor, insira um valor:"); Object[] possiblevalues = {"Primeiro","Segundo","Terceiro"}; Object selectedvalue = JOptionPane.showInputDialog(null, "Escolha um","entrada", JOptionPane.INFORMATION_MESSAGE, null, possiblevalues, possiblevalues[0]); Exemplos
Exemplos Principais Componentes Swing JLabel texto não editável ou ícones JTextField campo texto para inserção de dados JButton botão JCheckBox opção selecionável JComboBox lista drop-down para seleção JList lista de itens selecionáveis através de um clique JPanel área utilizada para organizar diversos componentes
Outros Componentes Construíndo um Formulário
Construíndo um Formulário Arquivo Janela.java Construíndo um Formulário Arquivo Janela.java
Construíndo um Formulário Arquivo Principal.java Passos para criar uma GUI 1) Declarar os componentes como atributos privados da classe que estende JFrame (subclasse) 2) No construtor da classe 1) Utilizar super() para iniciar atributos do JFrame 2) Instanciar os componentes 3) Adicionar os componentes ao frame 3) Registrar listeners para os componentes que querem tratar eventos 4) Definir o tamanho do frame com setsize() 5) Chamar (opcionalmente) show(), ou utilizar alguma propriedade de visibilidade (setvisible())
Exercício Construa uma tela em Java, utilizando o pacote Swing, que corresponda a uma calculadora, que realize as quatro operações básicas Referências Clarke, L., JOPtionPane slides, disponível em http://ww2.nscc.edu/clarke_l/ PEREIRA, F. C. G., Java: Swing,CEFET- PB, 2000 DEITEL, H. M., DEITEL, P. J., Java: Como Programar, 6º edição, Bookman, São Paulo, 2002