TableModel Netbeans Marco Reis. TelaPrincipal Your Text here Lorem ipsum dolor sit amet,...

18
TableModel Netbeans Marco Reis

Transcript of TableModel Netbeans Marco Reis. TelaPrincipal Your Text here Lorem ipsum dolor sit amet,...

Page 1: TableModel Netbeans Marco Reis. TelaPrincipal Your Text here Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod.

TableModel NetbeansMarco Reis

Page 2: TableModel Netbeans Marco Reis. TelaPrincipal Your Text here Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod.

TelaPrincipal

Page 3: TableModel Netbeans Marco Reis. TelaPrincipal Your Text here Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod.

TelaPrincipal

• Your Text here

• Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

• Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.

Page 4: TableModel Netbeans Marco Reis. TelaPrincipal Your Text here Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod.

TelaPrincipal

Page 5: TableModel Netbeans Marco Reis. TelaPrincipal Your Text here Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod.

Eventos

Page 6: TableModel Netbeans Marco Reis. TelaPrincipal Your Text here Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod.

Formulários internos

Page 7: TableModel Netbeans Marco Reis. TelaPrincipal Your Text here Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod.

TelaConsultaLivros

Page 8: TableModel Netbeans Marco Reis. TelaPrincipal Your Text here Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod.

TelaDeCadastroDeLivro

Page 9: TableModel Netbeans Marco Reis. TelaPrincipal Your Text here Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod.

TelaDeConsultaLivroComboBox

Page 10: TableModel Netbeans Marco Reis. TelaPrincipal Your Text here Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod.

TelaDeCadastroDeLivro

public void carregaDadosDoLivro(String id) {

Livro livro = new DAOLivro().consultarPeloId(id);

txtAutor.setText(livro.getAutor());

txtEdicao.setText(livro.getEdicao());

txtEditora.setText(livro.getEditora());

txtTitulo.setText(livro.getTitulo());

txtIsbn.setText(livro.getIsbn());

}

Page 11: TableModel Netbeans Marco Reis. TelaPrincipal Your Text here Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod.

ModeloSimplesDeTabela

package com.livraria.util;

import java.lang.reflect.Method;

import java.util.*;

import javax.swing.table.*;

public class ModeloSimplesDeTabela extends AbstractTableModel {

private ArrayList linhas = null;

private String[] colunas = null;

private String[] atributos = null;

public String[] getAtributos() {

return atributos;

}

public String getColumnName(int column) {

return getColunas()[column];

}

public String[] getColunas() {

return colunas;

}

Page 12: TableModel Netbeans Marco Reis. TelaPrincipal Your Text here Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod.

Cont...

public ArrayList getLinhas() {

return linhas;

}

public void setColunas(String[] strings) {

colunas = strings;

}

public void setLinhas(ArrayList list) {

linhas = list;

}

public void setAtributos(String[] atributos) {

this.atributos = atributos;

}

public int getRowCount() {

return getLinhas().size();

}

public int getColumnCount() {

return getColunas().length;

}

Page 13: TableModel Netbeans Marco Reis. TelaPrincipal Your Text here Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod.

Cont...

@Override

public Object getValueAt(int rowIndex, int columnIndex) {

try {

// Obtem a linha, que é uma String []

Object o = getLinhas().get(rowIndex);

String s = getAtributos()[columnIndex];

String atributo = s.substring(0, 1).toUpperCase() + s.substring(1);

Method m = o.getClass().getMethod("get" + atributo);

// Retorna o objeto que esta na coluna

return m.invoke(o);

} catch (Exception ex) {

ex.printStackTrace();

}

return null;

}

Page 14: TableModel Netbeans Marco Reis. TelaPrincipal Your Text here Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod.

Cont...

/**

*

* @param dados Arraylist com os objetos para a tabela

* @param colunas - Nome das colunas da tabela. A primeira coluna deve ser o ID do objeto, para posterior recupera ‹ヘ o do mesmo.

* @param atributos - Nome dos atributos do objeto, na sequencia em que eles devem aparecer na tabela

*/

public ModeloSimplesDeTabela(ArrayList dados, String[] colunas, String[] atributos) {

setLinhas(dados);

setColunas(colunas);

setAtributos(atributos);

}

Page 15: TableModel Netbeans Marco Reis. TelaPrincipal Your Text here Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod.

TelaDeConsultaLivroComboBox

public TelaDeConsultaLivroComboBox() {

initComponents();

carregaComboDeLivros();

}

private void carregaComboDeLivros() {

DAOLivro dao = new DAOLivro();

Collection lista = dao.consultaTodos();

ComboBoxModel modelo = new DefaultComboBoxModel(lista.toArray());

cboLivros.setModel(modelo);

}

Page 16: TableModel Netbeans Marco Reis. TelaPrincipal Your Text here Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod.

Cont...

private void btnEditarActionPerformed(java.awt.event.ActionEvent evt) {

Object o = cboLivros.getSelectedItem();

Livro livro = (Livro) o;

TelaDeCadastroDeLivro tela = new TelaDeCadastroDeLivro();

tela.setVisible(true);

tela.carregaDadosDoLivro(livro.getId());

getParent().add(tela);

dispose();

}

Page 17: TableModel Netbeans Marco Reis. TelaPrincipal Your Text here Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod.

TelaConsultaLivros

private void btnPesquisarActionPerformed(java.awt.event.ActionEvent evt) {

String[] nomeDasColunas = new String[] {"C—digo", "Autor", "T’tulo", "Editora"};

String[] atributosDaClasse = new String[] {"id", "autor", "titulo", "editora"};

//Tem que converter para ArrayList, pois a recuperação é feita através do índice

ArrayList lista = (ArrayList) new DAOLivro().consultaTodos();

ModeloSimplesDeTabela modelo = new ModeloSimplesDeTabela(lista,

nomeDasColunas, atributosDaClasse);

tblResultado.setModel(modelo);

}

Page 18: TableModel Netbeans Marco Reis. TelaPrincipal Your Text here Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod.

Cont...

private void btnEditarActionPerformed(java.awt.event.ActionEvent evt) {

int i = tblResultado.getSelectedRow(); //Numero da coluna selecionada

String valor = (String) tblResultado.getValueAt(i, 0); //Conteœdo da coluna id da linha selecionada.

TelaDeCadastroDeLivro tela = new TelaDeCadastroDeLivro();

tela.setVisible(true);

tela.carregaDadosDoLivro(valor);

JDesktopPane paginaPrinciapl = (JDesktopPane) getParent();

paginaPrinciapl.add(tela);

dispose();

}