• Nenhum resultado encontrado

Introdução ao Java-Swing

N/A
N/A
Protected

Academic year: 2021

Share "Introdução ao Java-Swing"

Copied!
53
0
0

Texto

(1)

Introdução ao Java-Swing

com Netbeans

(2)

Introdução

Vamos utilizar o pluging Matisse para criar as interfaces

Para isso criamos uma aplicação Java via Maven

(3)

Introdução

Escolha a opção “Novo” ao clicar com o botão esquerdo do mouse Escolheremos a opção “Form JDialog” para iniciar o pluging

(4)

Introdução

Hierarquia dos componentes do formulário ativo Palheta de componentes Palheta de propriedades do componentes Podemos configurar

qual classe terá o método main()

(5)

Introdução

Clique e arraste os componentes para a tela Exemplo utilizando o Nimbus Visualize o design com diferentes look-and-feel (aparências)

(6)

Introdução

Clique com o botão direito do mouse para acessar os eventos dos componentes As linhas em cinza são protegidas e não podem ser alteradas

(7)

Introdução

Você pode personalizar algumas

partes protegidas de código utilizando a aba “Código”

Por exemplo, para centralizar o formulário na tela

Código personalizado

(8)

Introdução

Outro exemplo de customização é exibido aqui com o botão, aonde

podemos criar algum algoritmo antes ou depois da criação do

mesmo.

O pluging bloqueia essas partes de código para ser capaz de redesenhar novamente a interface que o usuário criou. As instruções de

(9)

Introdução

Outra forma de fazer a customização é clicando com o

botão direito do mouse no

(10)

Layouts

Clicando com o direito do mouse em cima do

JDialog podemos definir o layout

Os layouts tentam deixar as telas responsivas para responder as diferentes

(11)

Layouts (group layout)

Nesse layout os componentes ficam agrupados/ancorados

uns nos outros

Você controla os grupos para ficarem alinhados/ancorados verticalmente ou

horizontalmente.

(12)

Layouts (card layout)

Para esse layout precisamos de um painel configurado

como CardLayout Cada painel interno(card)

deve ter um nome.

Os cards são outros painéis que ficam inseridos dentro do

painel principal.

Por fim, configura-se qual o card estará visível informando o nome.

Deve-se informar também qual o painel que contém os cards.

(13)

TextFields

Aperte F2 para renomear o componentes

Aperte F2 para inserir ou limpar o texto padrão do textfield

(14)

PasswordFields

Componente responsável por

receber senhas

Temos o password retornado em um array de char.

(15)

FormatFields

1) Foi declarado e criado no construtor um formatador de texto

2) Com o botão direito do mouse personalizei o construtor para

(16)

FormatFields

1) Vamos usar a propriedade “formatterfactory” para

(17)

Rótulos (labels)

1) Crie um pacote para armazenar as imagens da sua aplicação

Inserindo imagens

2) Procure a propriedade Icon e clique na reticências 3) Selecione a pasta e depois a imagem desejada

4) Atenção: se for um projeto maven, as imagens devem obrigatoriamente ficar dentro

de uma pasta chamada resources no diretório main.

(18)

Botões

Use F2 para mudar o texto do botão e use os

eventos conforme sua necessidade.

Atalhos:

-Digite “sout” + <enter> para criar o System.out.println(“”);

-Use as teclas <alt>+<Insert> para chamar o wizard de criação de gets, sets, construtor, equals e hashcode

- O nome do componente é modificado através da propriedade:

(19)

Botões (jToggle)

Esse tipo de botão tem a funcionalidade de manter o estado da ação (pressionado/não pressionado).

(20)

Botões (radio button e radiogroup)

1) Os Radio buttons podem trabalhar de forma separada 2) Ou em grupo através do componente Radio group 3) Informe qual o grupo o radio pertence

(21)

Botões (check box e radiogroup)

Os check boks trabalham da mesma forma que o

radio buttons

O método “isSelect” informa se o checkbox

(22)

Painéis

1) O jPanel é um container, assim podemos configurar um laytou para cada painel. Se demos dois cliques em

um painel, visualizamos somente ele.

Alguns atalhos:

ctrl + d => duplica um componente

Shift + clique na paleta de componentes => insere vários componentes

2) Um propriedade interessante é a “border”,

aonde pode-se mudar a aparência dos painéis

(23)

Painéis (scrooll panel)

1) Quando a tela é pequena para a quantidade de componentes podemos

adicionar um scrollpane.

Alguns atalhos:

Com o botão direito do mouse você tem a opção de “inclose” ou “incluir em” para inserir componentes em um painel.

(24)

Menus

1) Primeiro deve existir uma “barra de menu” que

é composta por componentes “menu”

3) Temos outro componente “menu” com

dois “menu item”

2) Temos um “menu item” e um “separador de itens”

Na propriedade mnemônico: basta digitar a letra que também será um atalho junto com a tecla Alt

(25)

Menus

1) Dê um duplo clique em cima de “atalho” para

(26)

Menus (popup)

1) Adicione um popup menu no dialog, esse não é componente visual, você

conseguira acessá-lo somente pela janela de

hierarquia

2) Adicione os itens de menu através do botão direito do mouse clicando em cima do componentes

jPopupMenu e crie o menu como desejar

3) Selecione o componente que deseja oferecer a opção de menu

e configure sua propriedade responsável por isso.

(27)

Menus (popup n formulário)

1) Para adicionar um popup em componentes que não

tem a propriedade “componentPopupMenu” codifique o mouse listener,

nesse caso, no JDialog.

2) Método responsável por abrir o popup na posição x e y do clique

(28)

Dialogs (file e color chooser)

3) Para escolhermos cores usamos o JColorChooser 1) Personalizamos o botão de confirmação para seleção do arquivo. 2) Personalizamos o filtro de arquivos para seleção do arquivo.

(29)

Internal frames e Desktop panel

1) Em um JFrame deve-se inserir um JDesktopPane 2) Deve-se criar InternalFrames

para serem adicionados e chamados no DesktopPane

3) Alguma propriedades do

(30)

Internal frames e Desktop panel

1) Pra maximizar o Jdialog principal, basta colocar o esse abaixo abaixo da chamada do

método initComponent

2) Podemos configurar o que irá acontecer com o Jdialog quando o usuário tentar fechar a janela:

Hide, Dispose, Do_Nothing

Toolkit toolkit = Toolkit.getDefaultToolkit();

Dimension screenSize = toolkit.getScreenSize();

setBounds(0, 0, screenSize.width, screenSize.height);

3) Sublinhar a letra do texto de algum componente representando o atalho Alt

+ “Letra” é feito configurando a propriedade Mnemonic

(31)

Treeview

1) Use a propriedade “model” para criar a hierarquia. No wizard, simplesmente use espaço no texto para criar o nível

da hierarquia.

2) Adicionando o listenner para buscar as informações

(32)

ComboBox e ListBox

1) Como no treview, o combo e o list box trabalham com

“model” para os dados

2) Além da propriedade “model”, o “selection mode” determina

quantos itens o usuário pode selecionar ao mesmo tempo.

(33)

TextArea

1) O componente vem acompanhado de scrollpane, o qual tem as

propriedades “verticalScrollBarPolicy” e “horizontalScrollBarPolicy”

2) Método para recuperar o texto digitado

(34)

JSlider

2) No evento no botão é exemplificado como pegar o valor do slider e como adicionar

um listener para ele.

1) Podemos configurar o valor mínimo e máximo

(35)

JProgressBar

2) Essa thread simula algum processamento em um sistema

de computador. 1) A propriedade

“stringPainted” foi configurada para true, afim de mostrar o valor do

(36)

JSpinner

1) Foi adicionado um stateChanged no componente para recuperar os valores do componentes

(37)

JTable

1) O componente Jtable também trabalha com o conceito de Modelo, assim, toda a manipulação tem que

ser feito nessa camada.

2) A implementação padrão da classe de modelo do JTable se

(38)

JTable

1) Podemos instanciar e configurar o nosso próprio DefaultTableModel

em um construtor

2) Duas colunas e duas linhas

3) Método responsável por obter o valor de uma célula específica.

(39)

JTable

1) O DefaultTableModel pode ser configurado visualmente na propriedade

(40)

JTable

(evento)

1) Qualquer alteração na tabela dispara o evento ModelListener

(41)

JTable

(evento)

1) No construtor também adicionamos o listener para o mouse. Nesse caso,

(42)

JTable

(listando valores)

1) Configuramos o DefaultTableModel via palheta de propriedades do JTable 2) No construtor, um list foi criado e populado,

logo em seguida, adicionamos as linhas

na tabela referente a esse list.

(43)

JTable

(formatando as células das colunas)

1) Vamos criar o nosso renderizador de células para o tipo Date, assim os dados podem ser exibidos formatados. O primeiro passo para isso é criar uma

classes estendendo de DefaultTableCellRenderer

2) Clique com o direito em cima da tabela e escolha a primeira opção

3) Instancie um objeto da classe recém criada

(44)

JTable

(formatando enumerators)

1) Criando o Enumerator

2) Criando o renderizador

Instancie o renderizador como no slide anterior e teste a aplicação.

(45)

JTable

(inserindo imagens)

1) Método responsável por renderizar o componente JLabel

2) Alternamos as imagens de acordo com o valor

Instancie o renderizador como nos slides anterior e teste a aplicação.

(46)

JTable

(criando nosso próprio model)

1) Criamos uma classe herdando de AbstractTableModel

2) Temos que implementar os métodos abstratos

(47)

JTable

(criando nosso próprio model)

1) Utilizamos um arraylist e array para armazenar respectivamente os dados e

os nomes das colunas

2) Implementamos o último método necessário

(48)

JTable

(criando nosso próprio model)

1) Vamos adicionar os métodos abaixo para dar mais opções ao utilizador

(49)

JTable

(utilizando nosso próprio model)

1) No construtor informamos nosso modelo

(50)

Configurando os look-and-feels

Método responsável por configurar a aparência

Obs: Por padrão, o Netbeans configura o Lookandfeel, então apague o código no método main responsável por essa ação.

(51)

Configurando os look-and-feels

2) Utilize a classe e os métodos que a documentação do

look-and-feel exige

Utilizando look-and-feels de terceiros (Sem Mavem)

1) Faça o download e importe as bibliotecas

necessários para o projeto

http://www.javafree.org/artigo/871502/

3) Mais exemplos sobre look-and-feels

(52)

public static void main(String args[]) { /* Create and display the dialog */

java.awt.EventQueue.invokeLater(new Runnable() { public void run() {

try {

UIManager.setLookAndFeel(new NapkinLookAndFeel()); } catch (UnsupportedLookAndFeelException ex) {

ex.printStackTrace(); }

Tela06 dialog = new Tela06(new javax.swing.JFrame(), true);

dialog.addWindowListener(new java.awt.event.WindowAdapter() { @Override

public void windowClosing(java.awt.event.WindowEvent e) { System.exit(0); } }); dialog.setVisible(true); } }); }

Configurando os look-and-feels

2) Arquivo carregado pelo Pom.xml

Utilizando look-and-feels de terceiros (Sem Mavem)

1) Importe a biblioteca do Napkin no Pom.xml e

recarregue-o

3) Código responsável por iniciar o layout <dependency> <groupId>net.sf.squirrel-sql.thirdparty-non-maven</groupId> <artifactId>napkinlaf</artifactId> <version>1.2</version> </dependency>

(53)

• Apresentação criada espelhando os materiais:

Desvendando Swing

Java como Programar

Referências

Documentos relacionados

Metrô Santa Cruz Mooca Osasco NORTE/NORDESTE Amazonas Shopping Capim Dourado Rio Anil Shopping Maceió Shopping Natal Paralela Shopping Recife São Luis CENTRO OESTE

Por favor verifique se entregou o formulário de alterações ao plano de estudos devidamente assinado pelos seus Coordenadores (da UC e da sua Universidade) ao Gabinete de

• DETENÇÃO: Caso um nacional seja preso, o Consulado brasileiro poderá prestar assistência consular e, a pedido do detento, informar seus familiares no Brasil sobre sua

Mas para isso deve dirigir-se à Comissão Recenseadora do país em causa, após ter recebido da Administração Eleitoral uma carta, para essa nova morada,

Ainda que uma correção factual pareça efetiva — porque as pessoas conseguem reconhecê-la e fica claro que elas mudaram suas crenças — as pessoas frequentemente confiam

Vistos, relatados e discutidos os autos em que são partes as acima indicadas, acordam os Ministros da Corte Especial do Superior Tribunal de Justiça, na conformidade dos

Neste sentido, este estudo tem como objetivo carac- terizar os fatores que influenciaram a inadequação no diagnostico das reações do pacientes tanto na vigência do tratamento

buscou  símbolos  de  pertencimento  dos  torcedores  ao  Município,  considerando  a  cultura  como  a  base  para  a  promoção  de  identidades  e,  estas,