Boa noite pessoal. x)
Fiz um método em java para retornar uma JTable. Depois criei uma janela JFrame pelo Netbeans. No entanto, não estou conseguindo fazer a tabela aparecer.
Segue o código da função e, em seguida, o código da janela JFrame.
public JTable tabelaDepartamento(){
JTable table;
String sql = "Select * from departamento";
try
{
Vector<String> cabecalho = new Vector<String>();
Vector<Vector> linhas = new Vector<Vector>();
PreparedStatement stmt = (PreparedStatement) conexao.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
rs.next();
ResultSetMetaData rsmd = (ResultSetMetaData) rs.getMetaData();
for (int i = 0; i < rsmd.getColumnCount(); i++)
cabecalho.addElement(rsmd.getColumnName(i));
do
{
Vector<Object> linhaAtual = new Vector<Object>();
for (int i = 1; i < rsmd.getColumnCount(); i++)
{
switch(rsmd.getColumnType(i))
{
case Types.VARCHAR:
linhaAtual.addElement(rs.getString(i));
break;
case Types.INTEGER:
linhaAtual.addElement(rs.getInt(i));
}
}
linhas.addElement(linhaAtual);
}
while(rs.next());
table = new JTable(linhas, cabecalho);
JScrollPane scroller = new JScrollPane(table);
return table;
}
catch(SQLException erro){return null;}
Agora o codigo da janela JFrame
package Teste;
import DAO.DepartamentoDAO;
import javax.swing.JTable;
public class TestaTabela extends javax.swing.JFrame {
DepartamentoDAO deptoDAO = new DepartamentoDAO();
JTable tabelaDepartamento = deptoDAO.tabelaDepartamento();
/** Creates new form TestaTabela */
public TestaTabela() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 300, Short.MAX_VALUE)
);
pack();
}// </editor-fold>
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new TestaTabela().setVisible(true);
}
});
}
// Variables declaration - do not modify
// End of variables declaration
}
Desde já agradeço pela ajuda dos amigos.
Grato. =]