Swing Módulo II. Tiago Alves de Oliveira. Tiago Alves de Oliveira 1

Documentos relacionados
INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

Java First-Tier: Aplicações. Abstract Window Toolkit (AWT) Construção de Interfaces com Swing (I) Swing: Características

Aula 15 Interface Gáfica. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 1- Interfaces Gráficas com Swing

Interface Gráfica. Disciplina: Desenvolvimento de Sistemas. Professor: Thiago Silva Prates

Programação Java. Construção de Interfaces com Swing (I)

Componentes Parte 01

Elaborando as Interfaces Aulas 31, 32 e 33

Programação Orientada a Objetos

TIC - Programação Visual. Componentes. Prof. Edwar Saliba Júnior Setembro de Unidade 14 Componentes 1

Linguagem de Programação II GUI Interface Gráfica com o Usuário

Aula 12 POO 1 Interface Gráfica no Java. Profa. Elaine Faria UFU

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula de Revisão para AV1

Programação Gráfica em Java Alguns Componentes javax.swing

Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 2o. Semestre de 2017 Prof.

Interface Gráfica - Swing

Interfaces Gráficas (GUIs) em Java usando Swing Parte I - O básico

Interfaces Gráficas (GUIs) em Java usando Swing

Componentes GUI A aparência e maneira como um usuário pode interagir com componentes AWT diferem de acordo com a plataforma. Componentes Swing permite

Interfaces Gráficas com Swing. Professor Leonardo Larback

JFC/Swing. LPGII - Java Interface Gráfica JFC/Swing. Introdução JFC / Swing. Introdução JFC / Swing

Java Foundation Classes Coleção de pacotes para criação de aplicações completas Desktop Interfaces gráficas (GUIs- Graphical User Interface)

8. Interfaces Gráficas de Usuário

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula de Revisão para AV1

Interface com o Usuário (UI) UIs Desacopladas (2/3) BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos

Arquivos. Prof. Leonardo Barreto Campos 1

Componentes Parte 02

Pacote Java Swing Parte 1

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II Java Nona aula

JCheckbox JRadioButton JComboBox JList JMenu... Alguns componentes já vistos em aula JButton JLabel JTextField

Criando interfaces com o usuário. Continuação

Writer. Interface e Formatação de Estilos

Programação Orientada a Objetos com Java. Prof. Júlio Machado

Orientação a Objetos

Introdução à Programação Gráfica em Java

Tiago Alves de Oliveira. Tiago Alves de Oliveira

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 3- Desenvolvendo Interfaces Mais Ricas

Agenda. JFC (Java FoundaNon Classes) Interfaces Gráficas: layout manager JFC. Componentes do Swing. Pluggable Look and Feel

JAVA. Gerenciadores de Layout. Tiago Alves de Oliveira

PROGRAMAÇÃO ORIENTADA A OBJETOS -INTERFACES GRÁFICAS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

Programação Orientada a Objetos II

. Uma instância da classe JTextField gera uma instância da classe ActionEvent quando o objecto está activo e o utilizador pressiona a tecla ENTER.

Orientação a Objetos

Programação III. Interface Gráfica - Swing. Interface Gráfica Swing Jocélio Passos joceliodpassos@bol.com.br. Interface Gráfica - Swing

Linguagem de programação 2 GUI

(INFORMAÇÕES PARA LABORATÓRIOS VIRTUAIS) Nome do laboratório: Laboratório de Programação (INFORMAÇÕES PARA FERRAMENTA)

JTABLE STUDENT CONTROL JSC Gil Eduardo de Andrade / Emílio Rudolfo Fey Neto

Java. Guia do Programador. Peter Jandl Junior. Novatec

Programação de Interfaces Gráficas. Aula 1. Carlos Eduardo de Carvalho Dantas

Elaborando as Interfaces dos trabalhos das aulas 25, 26 e 27.

Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos

Introdução a Tecnologia da Informação

Técnicas de Programação II

Informática. LibreOffice Impress. Professor Márcio Hunecke.

Objetivos do Capítulo

Interface Gráficas Parte I. Bruno Crestani Calegaro

No sub menu de Formatos temos algumas opções a trabalhar. Vejamos cada uma

Desenvolvimento de Aplicações Desktop

Java Swing: Netbeans

MÓDULO 4 SWING Parte 3

Informática Básica. Aula 13 Macros e introdução a programação

Interface gráfica em Java: Swing e SWT

SUMÁRIO CAPÍTULO 1 INTRODUÇÃO AO JAVA...1

Programação Java. Construção de Interface gráfica. Processo Básico: OO + Eventos. Exemplo

Programação II. Cassio Diego

Cadastro de Cargos, Departamentos e Funcionários

INTERFACE COM O USUÁRIO (em Java) Programação Orientada a Objetos

Inserindo Quebra de Página

Entender princípios de projeto. Capacitação para construir GUIs. Entender os pacotes que contém componentes de GUI, e as classes e interfaces de

Aplicação Linguagem de Programação Orientada a Objeto

Elaborando as Interfaces dos trabalhos das aulas 28, 29 e 30.

Construção de Interfaces Gráficas

Orientação a Objetos

SISTEMA ATENA INSTITUIÇÕES DE ENSINO

Unidade 11: Programando Swing com o NetBeans Prof. Daniel Caetano

Programação Orientada a Objetos em Java. GUI Graphical User Interface

2.8 Inserindo Objetos. Campos

Na seqüência, será aberta uma página de login de acesso ao ambiente de gerenciamento do portal, conforme ilustrado na figura 01, abaixo: Figura 01

Capítulo 12 Eventos de interacção

Aula Prática de Redes Industriais Wireshark

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

Para visualizar corretamente configurar a tela para 1024 x 768 pixels. Tabelas

05 Como utilizar POO no ambiente gráfico do C#?

Abstract Window Toolkit (AWT) Peer based

Linguagem de Programação Visual

Uma pasta é pouco mais que um contêiner no qual é possível armazenar arquivos. Se

Aula 4 Microsoft PowerPoint 2003: Criando uma Apresentação

Apostila Impress 01. Partes da Janela Principal do Impress

API Swing Java. 1. Introdução. 2. Objetivos. 3. Surgimento do Swing. André Scarmagnani 1, Matheus Madalozzo 1, Miguel Diogenes Matrakas 1

Inserindo Imagem. Inserindo uma imagem a partir da Galeria

Programação Orientada a Objetos

CAPÍTULO 1 - Orientações Gerais sobre o Sistema

Criação de Aplicações GUI. Java JFC / Swing

Interface Gráfica - Swing

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

Editor de Texto. Microsoft Word 2007

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Sumário Objetivos Estudo de caso 1 Criação de template Exercício 1 Detalhamento da peça Exemplo... 23

1º Passo: acesse o site da FPG ( passe o mouse sobre o menu ÁREA DO ALUNO e logo em seguida clique em Portal RM.

Transcrição:

Swing Módulo II Tiago Alves de Oliveira Tiago Alves de Oliveira 1

Componentes GUI Componentes Swing GUI: 1.Declarado no pacote javax.swing. 2.A maioria dos componentes Swing são componentes Java puros, ou seja, escritos, manipulados e exibidos em Java. 3.Fazem parte das Java Foundation Classes (JFC) bibliotecas do Java para desenvolvimento de GUI para múltiplas plataformas. Tiago Alves de Oliveira 2

Componentes GUI Swing versus AWT Abstract Window Toolkit (AWT): Precursor do Swing. Declarado no pacote java.awt. Não fornece aparência e comportamento consistentes para diversas plataformas. Tiago Alves de Oliveira 3

Componentes GUI Os componentes Swing são implementados no Java. Sendo assim, eles são mais portáveis e flexíveis do que os componentes Java GUI originais de pacotes java.awt, que foram baseados nos componentes GUI da plataforma subjacente. Por essa razão, os componentes Swing GUI geralmente são preferidos. Tiago Alves de Oliveira 4

Componentes GUI Ao se utilizar os componentes GUI, é importante ter uma compreensão sobre a hierarquia de herança do javax.swing e do java.awt, pacotes onde estão as classes que serão utilizadas para o desenvolvimento de aplicações gráficas. Estude os atributos e comportamentos das classes na hierarquia de classe da figura do próximo slide. Essas classes declaram os recursos que são comuns à maioria dos Tiago Alves de Oliveira 5 componentes Swing.

Hierarquia de Classe Tiago Alves de Oliveira 6

Hierarquia de Componente JButton JCheckBoxMenuItem AbstractButton JMenuItem JMenu JComboBox JRadioButtonMenuItem JComponent JLabel JList JToggleButton JCheckBox JRadioButton JMenuBar JPanel JPopupMenu JScrollBar JScrollPane JEditorPane JTextPane JTextComponent JTextArea JTextField JPasswordField Tiago Alves de Oliveira 7

Componentes GUI Componente Descrição JLabel JTextField JButton JCheckBox JComboBox JList JPanel Exibe texto não-editável ou ícones. Permite ao usuário inserir dados do teclado. Tambémpode ser utilizado para exibir texto editável ou não editável. Desencadeia umevento quando o usuário clicar nele como mouse. Especifica uma opção que pode ser ou não selecionada. Fornece uma lista drop-down de itens a partir da qual o usuário pode fazer uma seleção clicando emumitemou possivelmente digitando na caixa. Fornece uma lista de itens a partir da qual o usuário pode fazer uma seleção clicando emqualquer itemna lista. Múltiplos elementos podemser selecionados. Fornece uma área emque os componentes podemser colocados e organizados. Tambémpode ser utilizado como uma área de desenho para imagens gráficas. Tiago Alves de Oliveira 8

Rótulos - JLabel Rótulos são componentes que contém texto. Eles não têm decorações (por exemplo, não tem limites). Também não reagem a entradas do usuário. É possível usar um rótulo para identificar componentes. Diferente de botões, os campos de texto não têm um rótulo para identificá-los. Para rotular um componente que não acompanha um identificador: Primeiro: construa o JLabel com o texto correto; Segundo: coloque-o bem perto do componente para o usuário ver que o rótulo identifica aquele componente. Tiago Alves de Oliveira 9

Rótulos - JLabel O construtor para um JLabel permite especificar o texto ou o ícone inicial e, se desejar, o alinhamento do conteúdo: JLabel rotulo = new JLabel( Texto, JLabel.RIGHT); Algumas das constantes para o alinhamento do texto podem ser: JLabel.RIGHT alinhamento à direita; JLabel.LEFT alinhamento à esquerda; JLabel.CENTER alinhamento centralizado Tiago Alves de Oliveira 10

Exemplo Tiago Alves de Oliveira 11

Exemplo Tiago Alves de Oliveira 12

Rótulo - Curiosidade Podemos utilizar textos simples e HTML em botões, rótulos e itens de menu. Não é recomendável usar HTML em botões, pois interfere na aparência. HTML em rótulos pode ser muito eficaz, basta cercar a sequência do rótulo com <html>...</html/>, exemplo: rotulo = new JLabel( <html><b>texto</b></html/> ); Obs: o primeiro componente com um rótulo HTML demora um pouco para ser exibido, porque o código HTML será carregado. Tiago Alves de Oliveira 13

JTextComponent A classe JTextComponent é uma abstração de um componente que recebe inserções de textos do usuário. Ela é a super-classe abstrata de duas classes com funcionalidades em comum: JTextField, JPasswordField e JTextArea tem seus métodos e atributos são compartilhados pela classe JTextComponent. Tiago Alves de Oliveira 14

JTextComponent public String gettext(): Retorna um objeto da classe String contendo o texto correspondente ao que o usuário digitou no objeto JTextComponent. public void settext(string texto): Define o texto do objeto JTextComponent conforme o valor do objeto String texto passado como parâmetro. public void seteditable(boolean estado): Define o objeto JTextComponent como editável ou não. Tiago Alves de Oliveira 15

JtextComponent Os métodos listados acima, podem ser utilizados nos 3 componentes que herdam de JTextComponent (JTextFields, JPasswordFields e JTextArea). A seguir será apresentado cada um dos componentes de JTextComponent. Tiago Alves de Oliveira 16

JTextField Um objeto da classe JTextField é um campo texto na forma de uma linha na qual textos podem ser digitados pelo usuário através do teclado. A classe JTextField é uma sub-classe de JTextComponent, portanto pode-se aplicar nesta todos os métodos vistos anteriormente na classe JTextComponent. Tiago Alves de Oliveira 17

JTextField public JTextField(): constrói um objeto do tipo campo de texto. public JTextField(int colunas): constrói um objeto campo de texto vazio com o número especificado de colunas. public JTextField(String texto): constrói um objeto campo de texto com o texto fornecido no parâmetro texto. public JTextField(String s, int colunas): constrói um objeto campo de texto com o texto fornecido no parâmetro texto com o número especificado de Tiago Alves de Oliveira 18 colunas.

Exemplo Tiago Alves de Oliveira 19

Exemplo Tiago Alves de Oliveira 20

JPasswordField JPasswordField s também é uma área de uma única linha em que o texto pode ser inserido pelo usuário pelo teclado ou o texto pode ser simplesmente exibido. A diferença deste componente para o JTextField é que o JPasswordField mostra que um caractere foi digitado quando o usuário insere os caracteres, mas oculta os caracteres assumindo que eles representam uma senha que deve permanecer conhecida apenas para o usuário. Tiago Alves de Oliveira 21

JPasswordField A classe JPasswordField estende a classe JTextComponent e adiciona vários métodos que são específicos para o processamento de senhas. Adiciona o caractere de eco para ocultar a entrada de texto no componente. Tiago Alves de Oliveira 22

Exemplo Tiago Alves de Oliveira 23

Exemplo Tiago Alves de Oliveira 24

JTextArea Um objeto da classe JTextArea é um campo texto na forma de várias linhas nas quais textos podem ser digitados pelo usuário através do teclado. A classe JTextArea é também uma sub-classe de JTextComponent, portanto pode-se aplicar nesta todos os métodos vistos anteriormente na classe JTextComponent. Utilizado comumente com um JScrollPane (barra de rolagem) e possui dois métodos para tratamento de quebra de linha. Tiago Alves de Oliveira 25

JTextArea: Construtores public JTextArea(): constrói um objeto do tipo campo de texto com possibilidade para várias linhas. public JTextArea(int linhas, int colunas): constrói um objeto JTextArea vazio com o número especificado de colunas e linhas. public JTextArea(String texto): constrói um objeto JTextArea com o texto fornecido no parâmetro texto. public JTextArea(String texto, int linhas, int col): constrói um objeto JTextArea com o texto especificado e número especificado de colunas e Tiago Alves de Oliveira 26 linhas.

JTextArea: Métodos public void setcolumns(int c): define o número de colunas visíveis para o objeto JTextArea. public int getcolumns(): devolve o número de colunas visíveis já definidas para o objeto JTextArea. public void setrows(int r): define o número de linhas visíveis para o objeto JTextArea. public int getrows(): devolve o número de linhas visíveis já definidas para o objeto JTextArea. Tiago Alves de Oliveira 27

JTextArea: Métodos append(string str): adiciona o texto no final do JTextArea. insert(string str, int pos): insere o texto na posição especificada. setlinewrap(boolean): quando recebe true, realiza a quebra de linha automática quando chegar ao final do tamanho horizontal do JTextArea, caso contrário, a linha só se encerrará no \n ou pela tecla enter. setwrapstykeword(boolean): ao realizar a quebra de linha automática, se a opção for true, a palavra será inteira será passada para a próxima linha, caso contrário, a palavra ficará separada sem nenhum critério gramatical. Tiago Alves de Oliveira 28

JscrollPane Barra de Rolagem As mais sofisticadas interfaces de usuários utilizam áreas com barras de rolagem. O Swing inclui um conjunto de componentes em uma classe JScrollPane que atende estas demandas. Caso as características fornecidas pela classe JScrollPane não sejam suficientes, será possível criar novos componentes através da interação direta com os componentes da classe JScrollBar. Tiago Alves de Oliveira 29

JScrollPane: Construtores JScrollPane(): cria um JScrollPane vazio (nenhuma viewport) onde as áreas de scrollbar horizontal e vertical aparecem quando necessário. JScrollPane (Component view): cria um JScrollPane que exibe o conteúdo de um componente específico, onde os scrollbars horizontal e vertical aparecem quando o conteúdo do componente é maior do que o campo de visão. Tiago Alves de Oliveira 30

JScrollPane: Construtores JScrollPane (Component view, int vsbpolicy, int hsbpolicy): cria um JScrollPane que exibe um campo de visão em uma viewport cuja posição do campo de visão pode ser controlada de acordo com as constantes da scrollbar. JScrollPane (int vsbpolicy, int hsbpolicy): cria um JScrollPane vazio (sem viewport) de acordo com constantes scrollbar especificadas. Tiago Alves de Oliveira 31

JScrollPane: Métodos sethorizontalscrollbarpolicy (int policy): determina quando a scrollbar horizontal aparecerá na scrollpane. setverticalscrollbarpolicy (int policy): determina quando a scrollbar veritcal aparecerá na scrollpane. setviewportview(component view): Creates a viewport if necessary and then sets its view. Tiago Alves de Oliveira 32

Algumas Constantes VERTICAL_SCROLLBAR_AS_NEEDED VERTICAL_SCROLLBAR_NEVER VERTICAL_SCROLLBAR_ALWAYS HORIZONTAL_SCROLLBAR_AS_NEEDED HORIZONTAL_SCROLLBAR_NEVER HORIZONTAL_SCROLLBAR_ALWAYS Tiago Alves de Oliveira 33

Exemplo Tiago Alves de Oliveira 34

Exemplo Tiago Alves de Oliveira 35

JFormattedTextField Um objeto da classe JFormattedTextField permite construir campos de texto préformatados, ou seja, podemos criar máscaras para as entradas de texto, e este componente herda de JTextField. Por meio da classe MaskFormatter criamos nossas máscaras, é útil para padrões de entrada de texto de tamanho fixo que contém alguns caracteres constantes e alguns variáveis... Tiago Alves de Oliveira 36

JFormattedTextField Por exemplo: o número de um CPF 000.012.487-21 Pode ser formatado como: new MaskFormatter( ###.###.###-## ); O Caractere # denota um único dígito, sendo este apenas para entradas numéricas, na tabela a seguir mostra os símbolos possíveis de se utilizar na construção de máscaras. Tiago Alves de Oliveira 37

JFormattedTextField Caractere Descrição # Qualquer número válido Caractere de escape, usado para o escape de qualquer caractere de formato especial U Qualquer caractere, todas as letras minúsculas são transformadas em maiúsculas L Qualquer caractere, todas as letras são transformadas em minúsculas A Qualquer caractere ou número? Qualquer caractere * Qualquer coisa H Qualquer caractere hexadecimal Tiago Alves de Oliveira 38

JFormattedTextField Para se criar uma máscara você deve observar: // Exemplo para CEP: 35.570-000 try{ MaskFormatter formato = new MaskFormatter( ##.###-## ); formato.setplaceholdercharacter( _ ); JFormattedTextField mascara = new JFormattedTextField(mascara); } catch(java.text.parseexception exc){} O método setplaceholdercharacter(), serve para preencher a máscara com o caractere setado quando a máscara está vazia. Tiago Alves de Oliveira 39

Exemplo Tiago Alves de Oliveira 40

Exemplo Tiago Alves de Oliveira 41