Capítulo 31. Outros Recursos para Interfaces Gráficos. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra



Documentos relacionados
Objetivos do Capítulo

Capítulo 22. Associações entre Classes. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Curso de Aprendizado Industrial Desenvolvedor WEB

Capítulo 14. Herança a e Polimorfismo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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

RUI ROSSI DOS SANTOS PROGRAMAÇÃO DE COMPUTADORES EM. Java

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

Is Event Dispatcher Threade (Animation)

Informática Básica. Microsoft Word XP, 2003 e 2007

Sistema de Gerenciamento Remoto

Capítulo 11. Conceitos de Orientação a Objetos. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Capítulo 13. Encapsulamento. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Alinhamento Prático Ferramenta ARIS Operação Básica

GERENCIADOR DE CONTEÚDO

- Acessar o sistema. Para acessar o sistema digite o endereço eletronico e clique em login na barra de menus.

Quinta Lista de Exercícios -

Programação de Computadores - I. Profª Beatriz Profº Israel

MANUAL. Laudos Online Convênios & Empresas.

Manual do usuário APRESENTAÇÃO... 2 ACESSO AO SISTEMA... 3 CONHECENDO O SISTEMA...4 MENU ADMINISTRATIVO... 5 MENU FINANCEIRO... 6 MENU CONSULTA...

Análise de Dados do Financeiro

SISTEMA DE GESTÃO PARTIDÁRIA. Manual do usuário APRESENTAÇÃO... 2 ACESSO AO SISTEMA... 3 CONHECENDO O SISTEMA...4 MENU ADMINISTRATIVO...

Interfaces Gráficas: Interações Complexas

Introdução à Tecnologia Java 02/2012. Java Aula 04 MDI. 05/09/2012 Celso Olivete Júnior.

Objetivos do Capítulo

Capítulo 9. Vetores e Matrizes. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Especificação do 3º Trabalho

ECD1200 Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO

Smart Laudos 1.9. A Forma Inteligente de Criar seus Laudos Médicos. Manual do Usuário

Manual do Painel Administrativo

INTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8

Programação por Objectos. Java

Introdução. Servidor de Tempo (SNTP) com opção de horário de verão automático; 1 Cadastro do novo modelo de equipamento Urano Topmax SS

O Windows 7 é um sistema operacional desenvolvido pela Microsoft.

Voltado para novos usuários, este capítulo fornece uma instrução para edição de Leiaute do SILAS e suas funções.

Requisições de Materiais - Almoxarifado Módulo Portal Administrativo - SIPAC

Capítulo 29. Menus. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Banco de Dados BrOffice Base

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

Clique no botão para iniciar o treinamento TAREFAS CONTRAT OS RELACIO NAMENT CONFIGURAÇÕES. A ideia é usar os próprios ícones do CGW.

Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica

Capítulo 23. às s Interfaces Gráficas. Introdução. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Orientação a Objetos

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

Capítulo 7. Estruturas de Decisão. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Tutorial WEB CONTENT MANAGEMENT [WCM] Obtenha benefícios a partir das aplicações customizadas da ADMT.

Manual de utilização do sistema OTRS (Atendimento) Cliente Externo

Manual de Férias do Servidor

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

ÍNDICE MANUAL SITE ADMINISTRÁVEL TV. 1. Introdução 2. Acessando o site administrável/webtv SITE ADMINISTRÁVEL 3. CONFIGURAÇÕES

Portal Sindical. Manual Operacional Empresas/Escritórios

Dicas Logycware Como utilizar o módulo de Estoques. Copyright Logycware Sistemas de Informática 2008 Todos os Direitos Reservados

WecDB WecDB Consulta Web Facilitada ao Banco de Dados

CORREIO inotes. Para acessar o Correio inotes é necessário acessar a Internet.

TUTORIAL DO ACCESS PASSO A PASSO. I. Criar um Novo Banco de Dados. Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo

Manual das planilhas de Obras

Assessoria Técnica de Tecnologia da Informação - ATTI. Projeto de Informatização da. Secretaria Municipal de Saúde do. Município de São Paulo

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

MANUAL DO PVP SUMÁRIO

Serviço Público Federal Universidade Federal do Pará - UFPA Centro de Tecnologia da Informação e Comunicação - CTIC S I E

Menu Utilitários. Atualização do Banco de Dados Atualização e organização dos arquivos existentes

DIFERENÇAS ENTRE FUNÇÃO E BLOCO FUNCIONAL; CRIAÇÃO DE FUNÇÃO / BLOCO FUNCIONAL; UTILIZAÇÃO NO LADDER; EXEMPLO DE BLOCO FUNCIONAL;

Interface Gráficas Parte I. Bruno Crestani Calegaro

Manual das funcionalidades Webmail AASP

Manual do Usuário. Menus: Produtor Rural, Propriedade Rural e GTA Módulo: Produtor Rural. dezembro de 13

GUIA RÁPIDO DE UTILIZAÇÃO DO PORTAL DO AFRAFEP SAÚDE

Livro Caixa. Copyright ControleNaNet

Atalhos da Web. Krishna Tateneni Yves Arrouye Tradução: Lisiane Sztoltz

Sistema Hospitalar - Módulo Auditoria v.1.0

MANUAL DO ALUNO MOODLE

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO UNIVASF SECRETARIA DE TECNOLOGIA DA INFORMAÇÃO STI DEPARTAMENTO DE SISTEMAS DE INFORMAÇÕES

Linguagem de Programação III

02 - Usando o SiteMaster - Informações importantes

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

Curva ABC. Tecinco Informática Ltda. Av. Brasil, º Andar Centro Cascavel PR

BH PARK Software de Estacionamento

Sistema de Recursos Humanos

Editando textos no Siga-Doc

CENTRO UNIVERSITÁRIO CATÓLICA DE SANTA CATARINA PRÓ-REITORIA ACADÊMICA NÚCLEO DE EDUCAÇÃO EM AMBIENTES DIGITAIS NEAD

SISTEMA INTEGRADO DE ADMINISTRAÇÃO DA RECEITA. Módulo Regime Especial Internet

Tutorial do Sistema de Gestão de Conteúdos para Web - SYSWEB

GUIA INTEGRA SERVICES E STATUS MONITOR

Lição 9 Trabalhando com bibliotecas de classes

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007

JSP - ORIENTADO A OBJETOS

Registro de Usuários MT Última Atualização 25/04/2012

Guia rápido para configuração e geração do SPED Contábil

1. Tela de Acesso pg Cadastro pg Abas de navegação pg Abas dados cadastrais pg Aba grupo de usuários pg.

Solicitação de compras web

WF Processos. Manual de Instruções

8. Interfaces Gráficas de Usuário

Manual do sistema SMARsa Web

Bem-vindo! O que há de novo no PaperPort 10?

AULA 12 CLASSES DA API JAVA. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes alba.lopes@ifrn.edu.br

DPAlmox - Windows MANUAL DO USUÁRIO

PAINEL GERENCIADOR DE S

Word 1 - Introdução Principais recursos do word A janela de documento Tela principal

Sumário. Capítulo 2 Iniciando o TR Como efetuar o login... 8

Transcrição:

Capítulo 31 Outros Recursos para Interfaces Gráficos

Objetivos do Capítulo Introduzir recursos úteis à construção de grande variedade de interfaces gráficas e que não foram abordados antes. Apresentar seis componentes que podem ser agregados a uma janela: grades, barras de ferramentas, conjuntos de painéis acessíveis por abas, controles deslizantes, campos formatados e painéis de seleção de cor. Analisar o funcionamento das janelas internas e descrever os passos necessários para a definição de uma imagem de fundo para a área de trabalho de uma janela. Indicar como a aparência e o comportamento plugáveis dos componentes do Swing são manipulados.

javax.swing.jtable Grades Atributos para a definição do modo de redimensionamento: AUTO_RESIZE_OFF AUTO_RESIZE_NEXT_COLUMN AUTO_RESIZE_SUBSEQUENT_COLUMNS AUTO_RESIZE_LAST_COLUMN AUTO_RESIZE_ALL_COLUMNS Construtores: JTable( ) JTable(Object[][] rowdata, Object[] columnnames) JTable(TableModel dm) JTable(Vector rowdata, Vector columnnames)

javax.swing.jtable Métodos: Grades Class<?> getcolumnclass(int column) int getcolumncount( ) TableModel getmodel( ) int getrowcount( ) ListSelectionModel getselectionmodel( ) Object getvalueat(int row, int column) setmodel(tablemodel datamodel) setvalueat(object avalue, int row, int column) setautoresizemode(int mode) setselectionmode(int selectionmode )

Grades interface javax.swing.listselectionmodel Atributos para a definição do modo de seleção da grade: MULTIPLE_INTERVAL_SELECTION SINGLE_INTERVAL_SELECTION SINGLE_SELECTION Métodos: clearselection( ) int getmaxselectionindex( ) int getminselectionindex( ) boolean isselectionempty( )

Grades javax.swing.table.abstracttablemodel implements javax.swing.tablemodel Métodos cuja implementação é obrigatória nas subclasses int getrowcount() int getcolumncount() Object getvalueat(int row, int column) Outros métodos: Class<?> getcolumnclass(int columnindex) String getcolumnname(int column) boolean iscelleditable(int rowindex, int columnindex) setvalueat(object avalue, int rowindex, int columnindex)

Grades Código 31.1 Grade.java

Grades Código 31.2 ModeloGrade.java

javax.swing.jtoolbar Barras de Ferramentas Atributos para definição da orientação: HORIZONTAL VERTICAL Construtores: JToolBar( ) JToolBar(String name, int orientation) Métodos: Component add(component comp) addseparator( ) remove(component comp) remove(int index) setfloatable(boolean b) javax.swing.swingutilities Métodos: static void updatecomponenttreeui(component c)

Código 31.3 Barra.java Barras de Ferramentas

javax.swing.jinternalframe Construtores: JInternalFrame( ) JInternalFrame(String title) Janelas Internas JInternalFrame(String title, boolean resizable, boolean closable, boolean maximizable, boolean iconifiable) Métodos: getcontentpane( ) settitle( ) setsize( ) setclosable( ) seticonifiable( ) setresizable( ) javax.swing.jdesktoppane extends JLayeredPane Métodos: Component add(component comp)

Código 31.4 IFContato.java Código 31.5 JFMenu.java Janelas Internas

Passos essenciais: Imagem de Fundo Criar uma subclasse de JDesktopPane ou de JPanel Acrescentar um atributo para reter a imagem (ImageIcon) Implementar um construtor que inicialize o atributo Sobrescrever o método paintcomponent( ) para desenhar a imagem Sobrescrever o método getpreferredsize( ) se desejar adequar o tamanho do contêiner ao tamanho da imagem

Imagem de Fundo Código 31.6 DesktopImagem.java Código 31.7 JFMenuFundo.java

Aparência e Comportamento Plugáveis javax.swing.lookandfeel javax.swing.uimanager Métodos estáticos: UIManager.LookAndFeelInfo[] getinstalledlookandfeels() LookAndFeel getlookandfeel( ) setlookandfeel(lookandfeel newlookandfeel) setlookandfeel(string classname) LookAndFeelInfo Métodos: String getclassname( ) String getname( )

Aparência e Comportamento Plugáveis Código 31.8 ListaLAFs.java

Aparência e Comportamento Plugáveis Código 31.9 ExemploLAF.java

Aparência e Comportamento Plugáveis Código 31.10 TrocaTema.java

Fichários javax.swing.jtabbedpane extends JComponent Métodos: Component add(string title, Component component) Component add(component component, int index) Component getselectedcomponent( ) int getselectedindex( ) remove(component component) remove(int index) setselectedcomponent(component c) setselectedindex(int index)

Fichários Código 31.11 ExemploAbas.java

Controles Deslizantes javax.swing.jslider extends JComponent Atributos para definição da orientação: HORIZONTAL VERTICAL Construtores: JSlider( ) JSlider(int orientation) JSlider(int min, int max) JSlider(int min, int max, int value) JSlider(int orientation, int min, int max, int value) Métodos: int getmaximum( ) int getminimum( ) int getorientation( ) int getvalue( ) setmaximum(int maximum) setminimum(int minimum) setorientation(int orientation) setvalue(int n)

Controles Deslizantes Código 31.12 ExemploSlider.java

Campos de Texto Formatados javax.swing.text.maskformatter Construtor: MaskFormatter(String mask) Caracteres válidos para especificação da máscara: *: permite letras, números e caracteres especiais. A: permite letras e números.?: permite somente letras. U: permite somente letras e converte letras minúsculas em maiúsculas. L: permite somente letras e converte letras maiúsculas em minúsculas. #: permite somente números. H: permite qualquer caractere que forma um número hexadecimal. : permite imprimir qualquer um dos caracteres especiais anteriores.

Campos de Texto Formatados javax.swing.jformattedtextfield Construtores: JFormattedTextField( ) JFormattedTextField(JFormattedTextField.AbstractFormatter formatter) JFormattedTextField(Object value) Métodos: Object getvalue( ) setvalue(object value)

Campos de Texto Formatados Código 31.13 ExemploCamposFormatados.java

javax.swing.jcolorchooser Método estático: Seleção de Cor Color showdialog(component component, String title, Color initialcolor) Outros métodos: AbstractColorChooserPanel[] getchooserpanels() Color getcolor() ColorSelectionModel getselectionmodel() setcolor(color color) AbstractColorChooserPanel removechooserpanel( AbstractColorChooserPanel panel)

Seleção de Cor Código 31.14 DialogoCor.java

Código 31.15 PainelCor.java Seleção de Cor

Exercícios Todos os exercícios propostos a seguir estão interligados e formam uma seqüência de passos para a construção de um único aplicativo. O aplicativo que você deverá construir simula algumas operações que são comuns em sistemas utilizados em escolas que ofertam cursos de idiomas e de informática. O primeiro exercício indica como deve ser criada a janela principal deste aplicativo e como criar a classe executável do mesmo. O segundo exercício indica como criar as janelas dos cadastros. O terceiro exercício indica como implementar as demais funcionalidades.

Exercício 1 Crie uma nova janela, chamada JFPrincipal, de acordo com o modelo apresentado na figura abaixo.

Exercício 1 Crie uma nova janela, chamada JFPrincipal, de acordo com o modelo apresentado na figura abaixo. Esta é a janela principal do aplicativo e deve ter uma barra de menus e uma barra de ferramentas. A barra de menus deve ter dois menus: Cadastro e Sistema. O primeiro destes menus deve ter três itens: Usuário, Professor e Aluno. O segundo menu também deve ter três itens: Configurações, Sobre... e Sair. A barra de ferramentas deve ter botões que permitam o acesso rápido às mesmas operações que são acessíveis através dos itens de menu. A área de trabalho desta janela deve apresentar uma imagem de fundo.

Exercício 1 Crie outra classe, chamada Principal, que assuma o papel de classe principal do sistema. Ela deverá ser a única classe executável deste aplicativo, ou seja, a única a ter o método main( ). Ela deve realizar apenas duas tarefas: trocar o look and feel para o Nimbus e exibir a sua janela principal.

Exercício 2 O cadastro de usuários deverá ser composto pelos seguintes dados: um código numérico, o nome completo do usuário, seu login e sua senha. Crie uma classe, chamada Usuario, para encapsular estes dados e utilize os métodos de escrita para validá-los. A janela de cadastro de Professores deverá ter campos para receber os seguintes dados: um código numérico, o nome completo do professor, seu salário, seu telefone e seu e-mail. Além destes, acrescente campos para receber outros dados que você julgar que são pertinentes a este tipo de cadastro. Crie uma classe, chamada, Professor, para encapsular estes dados e utilize os métodos de escrita para validá-los. A janela de cadastro de Alunos deverá ter campos para receber os seguintes dados: um código numérico, o nome completo do aluno, sua data de nascimento, seu telefone e seu e-mail. Além destes, acrescente campos para receber outros dados que você julgar que são pertinentes a este tipo de cadastro. Crie uma classe, chamada, Aluno, para encapsular estes dados e utilize os métodos de escrita para validá-los.

Exercício 2 Crie uma janela interna para cada um dos três cadastros supracitados. A figura abaixo ilustra como os componentes destas janelas deverão ser organizados.

Exercício 2 Este modelo representa a janela de cadastro de usuários, mas você também pode empregá-lo para a construção das janelas de cadastro de professores e de alunos. Note que estas janelas possuem duas fichas. A primeira ficha apresenta os registros existentes em uma grade. A segunda ficha permite incluir novos registros, alterar registros existentes e excluí-los. Utilize campos formatados sempre que isso for conveniente. Cada usuário cadastrado deve ser representado como uma instância da classe Usuario, cada aluno cadastrado deve ser representado como uma instância da classe Aluno e cada professor cadastrado deve ser representado como uma instância da classe Professor. Mesmo quando as janelas de cadastro forem fechadas, estas instâncias devem ser mantidas em memória. Crie uma classe separada para manter estas coleções de objetos e pode chamá-la de Banco. Declare três atributos estáticos do tipo java.util.list nesta classe para representar estas coleções e as instancie na classe Principal.

Exercício 3 Sempre que o item de menu rotulado como Configurações for pressionado ou quando o botão correspondente da barra de ferramentas for acionado, o aplicativo deve apresentar um diálogo que permita ao usuário alterar as configurações de sua interface gráfica. A figura abaixo ilustra como deve ser a aparência deste diálogo. Este diálogo deve permitir a alteração do look and feel do sistema e definir se a barra de ferramentas deve estar visível ou oculta. Sempre que for aberto, a primeira caixa de combinação deve carregar dinamicamente todos os look and feels disponíveis e o look and feel em uso deve ser selecionado automaticamente. A segunda caixa de combinação também já deve estar indicando a configuração atual relativa à barra de ferramentas.

Exercício 3 Sempre que o item de menu rotulado como Sobre... for pressionado ou quando o botão correspondente da barra de ferramentas for acionado, deve ser apresentado um diálogo contendo informações acerca do sistema. A figura abaixo ilustra como deve ser a aparência deste diálogo. Este diálogo pode ser gerado através do método showoptiondialog( ) da classe javax.swing.joptionpane. Se preferir, pode criar uma nova classe derivada da classe javax.swing.jdialog para representá-lo.

Exercício 3 Quando o usuário acionar o item de menu rotulado como Sair ou quando acionar o botão correspondente da barra de tarefas, o aplicativo deve exibir um diálogo de confirmação. A figura abaixo ilustra como deve ser a aparência deste diálogo. Se o botão Não deste diálogo for pressionado, a janela principal do sistema deve ser mantida aberta. Se o botão Sim for pressionado, a janela principal do sistema deve ser fechada e toda a memória utilizada pelo sistema deve ser liberada.

Contato Com o autor: Rui Rossi dos Santos E-mail: livros@ruirossi.pro.br Web Site: http://www.ruirossi.pro.br Com a editora: Editora NovaTerra Telefone: (21) 2218-5314 Web Site: http://www.editoranovaterra.com.br