Bem … segui o tutorial do GUJ entendi mais ou menos como funciona e fui botar a mão na massa …
Bem funcionou … mas não do jeito que queria … Sera que alguem pode me dizer por que os nomes das colunas não estão aparecendo na tabela que criei ?
O codigo segue abaixo :
public class Usuario {
private String login;
private String senha;
private Integer idade ;
public Usuario(String login, String senha, Integer idade) {
super();
this.login = login;
this.senha = senha;
this.idade = idade;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public Integer getIdade() {
return idade;
}
public void setIdade(Integer idade) {
this.idade = idade;
}
}
import java.awt.BorderLayout;
import java.util.List;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class Table extends JPanel{
List<Usuario> usuarios ;
private String tableString[][];
private String titulos[] = {"login","senha","idade"};
public Table(List<Usuario> usuarios) {
this.setUsuarios(usuarios);
tableString = new String[usuarios.size()][3];
buildTable();
DefaultTableModel defaultTableModel = new DefaultTableModel(tableString , titulos);;
JTable table = new JTable(defaultTableModel);
table.setEnabled(false);
this.setLayout(new BorderLayout());
this.add(table,BorderLayout.CENTER);
}
public void buildTable(){
int i = 0;
for(Usuario usuario : usuarios) {
tableString[i][0] = usuario.getLogin();
tableString[i][1] = usuario.getSenha();
tableString[i][2] = ""+usuario.getIdade();
i++;
}
}
public List<Usuario> getUsuarios() {
return usuarios;
}
public void setUsuarios(List<Usuario> usuarios) {
this.usuarios = usuarios;
}
}
import java.awt.BorderLayout;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JFrame;
public class Principal {
public static void main(String[] args) {
List<Usuario> usuarios = new ArrayList<Usuario>();
Usuario u1 = new Usuario("Cleyton","1234",21);
usuarios.add(u1);
Usuario u2 = new Usuario("Cleydson","abcd",15);
usuarios.add(u2);
Usuario u3 = new Usuario("Ana","asdf",35);
usuarios.add(u3);
Usuario u4 = new Usuario("Caetano","a234",45);
usuarios.add(u4);
Table table= new Table(usuarios);
JFrame frame = new JFrame();
frame.setSize(300, 300);
frame.setLayout(new BorderLayout());
frame.getContentPane().add(table);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
A tabela aparece porem eu quero que ela apareca com o nome das colunas acima , como uma consulta em um sgbd.