Ao gerar a tabela aparece todas as colunas certinhas mas, não aparece o contéudo de uma coluna que contém valores monetários, esta foi sobreescrita por dados de outra coluna deixando a última em branco, tentei alterar o case mas não resoveu, agradeço pelas Dicas pessoal! muito obrigado!!
import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.util.*;
public class Tabela extends JFrame
{
JTable table;
public static void main(String args[])
{
JFrame janela = new Tabela();
janela.setUndecorated(true);
janela.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
janela.setVisible(true);
}
public Tabela()
{
setTitle( "Tabela de Instrumentos Cadastrados" );
setBounds(100,100,800,500);
if (!BD.getConnection())
{
JOptionPane.showMessageDialog(null, "Falha na conexão, o sistema será fechado!");
System.exit(0);
}
geraTabela();
}
private void geraTabela()
{
try
{
Vector<String> cabecalho = new Vector<String>();
Vector<Vector> linhas = new Vector<Vector>();
BD.setResultSet("select * from Instrumento");
BD.resultSet.next();
ResultSetMetaData rsmd = BD.resultSet.getMetaData();
for ( int i = 1; 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(BD.resultSet.getString(i));break;
case Types.INTEGER:
linhaAtual.addElement(BD.resultSet.getInt(i));break;
}
}
linhas.addElement(linhaAtual);
}
while ( BD.resultSet.next() );
table = new JTable( linhas, cabecalho );
JScrollPane scroller = new JScrollPane( table );
getContentPane().add(scroller, BorderLayout.CENTER);
BD.close();
}
catch (SQLException erro) { }
}
}