Let's analyze the code, line by line:
DefaultTableModel modelo = new DefaultTableModel();
Here you create an empty table model
JTable table = new JTable(modelo);
Here you create a table using this empty table model
modelo = principal.inicializaModelo();
And here you reassign the modelo variable with a non-empty table model. The table is still using the empty table model.
What you want is:
DefaultTableModel modelo = principal.inicializaModelo();
JTable table = new JTable(modelo);