Cara, consegui arrumar a sintaxe, mas esta dando, ele esta exibindo a tabela varias vezes, tipo criando varias tabela, isso porque eu estou colocando para ele criar a tabela dentro do for, mas se eu tirar dá erro na hora de declarar a matriz…
package br.com.fmu.action;
import br.com.fmu.bean.FazendaBean;
import br.com.fmu.bo.FazendaBo;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.util.List;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class Fazenda extends JFrame{
private final FazendaBo bo = new FazendaBo();
private JTable table;
public Fazenda(){
List<FazendaBean> lista = bo.listar();
setLayout(new FlowLayout());
String[] columnNames = {"ID", "Nome", "Tamanho"};
for(int i = 0; i < lista.size(); i++){
for (int j = 0; j < lista.size(); j++) {
Object[][] data = {{
lista.get(i).getId(),
lista.get(i).getNome(),
lista.get(i).getTamanho()
}};
table = new JTable(data, columnNames);
table.setPreferredScrollableViewportSize(new Dimension(500, 50));
table.setFillsViewportHeight(true);
JScrollPane scrollPane = new JScrollPane(table);
add(scrollPane);
}
}
}
/**
* @descritpion Monta a tabela junto com o metodo construtor
*/
public void listarFazendas(){
Fazenda gui = new Fazenda();
gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
gui.setSize(600,200);
gui.setVisible(true);
gui.setTitle("Lista de Fazendas");
}
}
Por que sua criação da tabela está dentro do for. Crie a tabela fora e só adicione linhas dentro do for.
Além disso, convém criar seu próprio TableModel, ao invés de trabalhar com Object[][]. Veja o link ao lado do texto em vermelho da minha assinatura para obter várias referências de como.