Passar Object como parâmetro ! (dois dias apanhando )

Galera
tô precisando de ajuda para passar o objeto que contém os dados da minha tabela, para a minha tela.

Alguém me ajuda a fazer isso !

meu código é esse :

Tela :

public class Tela extends javax.swing.JFrame {
    
     String url    = "jdbc:postgresql://localhost:5432/Banco";
     String usuario= "postgres";
     String senha  = "postgres";
     Connection db = null;
       
     eventobotao eb = new eventobotao();
    
    
    public Tela() {
        super("Exemplo");
     initComponents();
     
    final DefaultTableModel modelo = new DefaultTableModel();
    final JTable tabela = new JTable();
    JButton botaoAtualizar = new JButton("atualizar");
    JButton botaoInserir = new JButton("inserir");
    JTextField caixaNome = new JTextField();
    JTextField caixaCodigo = new JTextField();
    modelo.addColumn("Código");
    modelo.addColumn("Nome");
    
    tabela.setPreferredScrollableViewportSize(new Dimension(350, 50));
    
    Container c = getContentPane();
    setLayout(null);
    JScrollPane scrollPane = new JScrollPane(tabela);
    scrollPane.setBounds(20,20,300,100);
    botaoAtualizar.setBounds(20,150,100,20);
    botaoInserir.setBounds(20,200,100,20);
    caixaNome.setBounds(20,230,100,20);
    caixaCodigo.setBounds(120,230,100,20);
    c.add(scrollPane);
    c.add(botaoAtualizar);
    c.add(botaoInserir);
    c.add(caixaNome);
    c.add(caixaCodigo);
    setSize(400, 300);
    setVisible(true);
        
    botaoAtualizar.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent e) {
        int i = 0;
       
        while(tabela.getRowCount()>0){
            ((DefaultTableModel)tabela.getModel()).removeRow(i);}
        
        
        
        eb.buscar();
      }
   }
    );
    } 

Evento do Botão (que pesquisa no banco)

public class eventobotao {
    
    String url    = "jdbc:postgresql://localhost:5432/Banco";
    String usuario= "postgres";
    String senha  = "postgres";
    Connection db = null;
    final DefaultTableModel modelo = new DefaultTableModel();
    public int id;
    public String nome;
    public Object [] conteudo;
    Map < Integer,String > tab = new TreeMap <Integer,String > ();
    
    public eventobotao() {
    }
    
    public void buscar(){
        
        try{
        Class.forName("org.postgresql.Driver");
        db = DriverManager.getConnection( url, usuario, senha );
        PreparedStatement ps;
        ps = db.prepareStatement( "select codigo, nome from teste " );
        ResultSet rs = ps.executeQuery();
        while(rs.next()){
            id = rs.getInt("codigo");
            nome = rs.getString("nome");
            tab.put(id,nome);
            Object [] conteudo = {id,nome};
            modelo.addRow(new Object[]{new Integer(id), nome});
         }
        
     }
    catch(SQLException ex){
        System.out.println("SQLException: " + ex.getMessage());
        System.out.println("SQLState: " + ex.getSQLState());
        System.out.println("VendorError: " + ex.getErrorCode());
    }
    catch(Exception ei){
        System.out.println("Problemas ao tentar conectar com o banco de dados");
    }
        }
    
    public Object passar(){
        return modelo;
    }
    
}

Daew dom, qual o erro que esta gerando ?

A minha consulta, pelo banco de dados, retorna 2 linhas .

Quando faço pelo programa ele só retorna a segunda linha.

Como faço para passar o “Object conteúdo”

while(rs.next()){
            id = rs.getInt("codigo");
            nome = rs.getString("nome");
            Object [] conteudo = {id,nome};

para a minha DefalutTableModel que está na tela.

Cria um TableModel seu pra isso, é melhor(na minha opnião claro)…

Ficaria algo assim:

package dhl.pegasus.mawb.ui;

import java.util.List;

import javax.swing.table.AbstractTableModel;

public class MyModel extends AbstractTableModel {

	private String[] headers = {
		"Id",
		"Conteúdo"
	};
	
	private List<Object[]> data;
	
	public MyModel(List<Object[]> data) {
		this.data = data;
	}
	
	public int getColumnCount() {
		return headers.length;
	}

	public String getColumnName(int columnIndex) {
		return headers[columnIndex];
	}
	
	public int getRowCount() {
		return data.size();
	}

	public Object getValueAt(int rowIndex, int columnIndex) {
		Object[] obj = data.get(rowIndex);
		Object value = null;
		switch (columnIndex) {
			case 0:
				value = obj[0];
				break;
			case 1:
				value = obj[1];
				break;
			default:
				break;
		}
		return value;
	}
	
}

Crie um model passando um List dos seus objetos e depois na sua table, utilize:

table.setModel(meuModel);