0% acharam este documento útil (0 voto)
436 visualizações15 páginas

GUI WindowBuilder

O documento apresenta um tutorial sobre desenvolvimento de interfaces gráficas com Java usando Window Builder. Ele ensina como criar uma tela para cadastro de clientes com JTable, JTextFields e JButtons, definindo ações para os botões inserir, alterar e excluir dados na tabela. Dois exercícios pedem para completar o programa adicionando funcionalidades e substituindo um JTextField por um JComboBox.
Direitos autorais
© Attribution Non-Commercial (BY-NC)
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
436 visualizações15 páginas

GUI WindowBuilder

O documento apresenta um tutorial sobre desenvolvimento de interfaces gráficas com Java usando Window Builder. Ele ensina como criar uma tela para cadastro de clientes com JTable, JTextFields e JButtons, definindo ações para os botões inserir, alterar e excluir dados na tabela. Dois exercícios pedem para completar o programa adicionando funcionalidades e substituindo um JTextField por um JComboBox.
Direitos autorais
© Attribution Non-Commercial (BY-NC)
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 15

Programao Orientada a Objetos II

Prof Tatiana Pereira Filgueiras

1. Tutorial Window Builder


1.1 Definindo o Projeto Abra o Eclipse e clique na aba File new Java Project. Defina Project Name e Location, e logo em seguida clique em Finish. Clique co o boto direito na pasta src New Package e crie o pacote View.Clique com o boto direito em View New Other.

Clique em WindowBuilder Swing Designer JFrame

Defina o nome da classe. No exemplo definimos como Principal.

1.2 Desenhando a Tela

1.2.1 Tela de Cadastro de Mltiplos Clientes utilizando JTable


Clique em contentPane e em suas propriedades atribua o Layout desejado. No caso do exemplo, usaremos o AbsoluteLayout.

Insira 2 JPanel e 1 JScrollPane conforme abaixo:

Clique em cada um dos JPanels e atribua o Layout desejado. No caso do exemplo, atribuiremos o AbsoluteLayout.

Insira 5 JButtons: Inserir, Alterar, Excluir, Salvar no BD e Recuperar do BD. Selecione o primeiro boto e, segurando a tecla SHIFT selecione os demais. Clique em Space equally, horizontally

Insira as seguintes JLabels: Nome, CPF, Agncia, Conta e Carto. Na frente de cada JLabel insira um JTextField. Clique em cada JTextField e em suas propriedades atribua um nome para cada varivel.

Para o TextField Titular, insira como Variable nome. Para o CPF, Agncia, Carto e Conta insira estes mesmos nomes (sem utilizar acentuao).

Aps isso, insira uma JTable no ViewPoint do JScrollPane

Clique em table e em suas propriedades, selecione model. Insira 5 campos correspondentes aos JLabels.

Feito isso, nossa tela estar pronta. Agora resta atribuir aes aos botes para que tudo funcione.

1.3 Atribuindo Aes

1.3.1 Configurando nossa tabela


Antes de comearmos a trabalhar nos botes, precisamos configurar nossa tabela para que a mesma possa receber, alterar e deletar dados. Para isso ser necessrio modificar o cdigo fonte gerado pelo WindowBuilder. Clique em Source e encontre as linhas correspondentes a table.

Antes de TabelaScroll.setViewportView(table), insira a seguinte linha: model = (DefaultTableModel) table.getModel();

Sendo que a varivel model dever ser inserida como atributo privado, isto , no incio da classe.

Pronto, nossa tabela est configurada. Toda e qualquer manipulao dela ser feita utilizando o atributo model.

1.3.2 Definindo aes aos botes


1.3.2.1 Boto Inserir

Retorne ao Design. Clique com o boto direito em cima do boto Inserir. Escolha as opes Add event handler Action Action Performed.

Isso remeter ao cdigo fonte do boto inserir. A funo deste boto ser capturar tudo o que o usurio digitar nos TextFields e inserir na tabela. Para capturar um dado de um TextField utilizamos o mtodo getText(). Para adicionar os dados na tabela, necessrio inserir todos os TextFields em um nico array de objetos, e, aps isso, utilizar o mtodo addRow() do model. Lembrando que a ordem dos itens no array de objetos deve seguir a ordem das colunas da tabela. Por exemplo: coluna 1 receber o valor da varivel nome, portanto deve ser o item 0(zero) do array. Uma das maneiras de codificar a explicao acima encontra-se a seguir:

Insira estas linhas e rode o programa. Teste atribuindo valores aos campos de texto e clicando no boto Inserir. Note que ao clicar, os dados dos campos de texto iro para a tabela, porm, continuaro nos TextFields. Para apag-los dos TextFields assim que forem para a tabela, insira abaixo da linha model.addRow(lista); as seguintes linhas: nome.setText(null); cpf.setText(null); agencia.setText(null); conta.setText(null); cartao.setText(null);

1.3.2.1 Boto Alterar

A funo deste boto resgatar os campos de uma linha selecionada para os TextFields e atualizar a linha, caso haja alteraes. Para resgatar os campos de uma linha selecionada, clique com o boto direito em table Add evend handler Mouse mouseClicked . O WindowBuilder ir abrir o cdigo fonte do programa com um novo mtodo para checar quando o mouse clica em determinada linha da tabela. Dentro do mtodo mouseClicked insira as seguintes linhas:
int totalColunas = model.getColumnCount(); //quantas colunas ha na tabela Object[] linhaCompleta = new Object[5]; //recupera dados da linha(5 colunas) for(int i=0;i<totalColunas;i++){ //recupera dado coluna por coluna linhaCompleta[i] = table.getValueAt(table.getSelectedRow(),i); } //setando os dados coletados nos textFields //coluna 0 = nome ; 1=cpf; 2=agencia; 3=conta; 4=cartao nome.setText((String) linhaCompleta[0]); cpf.setText((String) linhaCompleta[1]); agencia.setText((String) linhaCompleta[2]); conta.setText((String) linhaCompleta[3]); cartao.setText((String) linhaCompleta[4]);

Feito isso, execute o programa e teste, inserindo uma linha e depois clicando sobre esta linha.

Agora precisamos determinar a ao do boto Alterar. Clique com o boto direito do mouse em cima do boto Alterar. Escolha as opes Add event handler Action Action Performed. Isso remeter ao cdigo fonte. Insira as seguintes linhas:

Execute o programa. Note que, caso no haja linha selecionada o programa no lanara nenhuma mensagem, pois no h exceo definida.

2. Exerccios de Fixao
1. Complete o programa exemplo inserindo aes para os botes Excluir (excluir uma linha selecionada), Salvar no BD (deve enviar os dados da tabela para o DAO (incluso no model) para que o mesmo os grave no banco de dados) e Recuperar do BD (dever entrar em contato com o DAO, receber os dados da tabela do banco de dados e mostr-los na tabela da interface grfica). Lembre-se de seguir o padro MVC, ou seja, comunicao View Model s atravs do Controller. 2. Substitua o TextField de Carto por um JComboBox com os seguintes itens: Visa, Mastercard, Aura, Hipercard, Diners Club e American Express. A tela deve continuar funcionando como anteriormente (inserindo, alterando, excluindo dados...), a nica modificao dever ser que, ao invs de recuperar o dado do campo cartao de um TextField , o dado dever ser recuperado deste comboBox. 3. Insira um boto Atualizar no BD e defina sua ao para que os dados atualizados na tabela tambm sejam atualizados no banco de dados.

Os

exerccios

podem

ser

feitos

em

dupla

entregues

professora

via

e-mail

([email protected]) no formato .java ou .zip. Estes exerccios complementaro o conceito final de A2.

Você também pode gostar