Ok. Aí vai o código…
package gui;
import java.util.*;
import java.awt.*;
import javax.swing.*;
import java.sql.*;
import java.awt.Dimension;
import dados.*;
import javax.swing.table.*;
import java.awt.event.*;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.HeadlessException;
import java.awt.Rectangle;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import negocios.*;
import excecoes.DenttalException;
import javax.swing.JLabel;
import javax.swing.border.TitledBorder;
import javax.swing.JTextField;
import javax.swing.JComboBox;
public class TelaAlmoxarifado extends JFrame{
private static final long serialVersionUID = 1L;
private JPanel jContentPane;
private JScrollPane jScrollPane;
private JTable jTable = null;
private JButton bListar = null;
private Fachada fachada = null; // @jve:decl-index=0:
private JButton bExcluir = null;
private JLabel border1 = null;
private JLabel border2 = null;
private JLabel border3 = null;
private JLabel labelFounds = null;
private JLabel labelNumFounds = null;
private JButton bAlterar = null;
private JButton bImprimir = null;
private JLabel border4 = null;
private JButton bCadastrar = null;
private JButton bRelatorio = null;
private JLabel labelEntrada = null;
private JTextField campoEntrada = null;
private JLabel labelTipoConsulta = null;
private JComboBox listaConsulta = null;
private JButton bConsultar = null;
private String lista[] = {"Código", "Nome", "Descrição"};
public TelaAlmoxarifado()
throws DenttalException
{
super();
initialize();
}
private void initialize()
throws DenttalException{
if(testeConn() == true)
{
this.setSize(640, 480);
this.setContentPane(getJContentPane());
this.setTitle("Denttal");
this.setVisible(true);
this.setLocationRelativeTo(null);
this.setResizable(false);
}else{
JOptionPane.showMessageDialog(null,
"Erro na conexão com banco de dados.\n" +
"Entre em contato com o administrador.",
"Denttal - Conexão BD",
JOptionPane.ERROR_MESSAGE, null);
}
}
private boolean testeConn()
{
Connection conn;
boolean conn2 = false;
try {
conn = ConnectionFactory.getConnection();
conn.createStatement();
return conn2 = true;
}
catch (SQLException sqlex)
{
return conn2 = false;
}
}
private Fachada getFachada(){
if (fachada == null)
{
fachada = new Fachada();
}
return fachada;
}
private JPanel getJContentPane()
throws DenttalException{
if (jContentPane == null)
{
labelTipoConsulta = new JLabel();
labelTipoConsulta.setBounds(new Rectangle(261, 53, 78, 16));
labelTipoConsulta.setText("Consulta por");
labelEntrada = new JLabel();
labelEntrada.setBounds(new Rectangle(262, 32, 53, 16));
labelEntrada.setText("Entrada");
labelNumFounds = new JLabel();
labelNumFounds.setBounds(new Rectangle(121, 411, 38, 16));
labelFounds = new JLabel();
labelFounds.setBounds(new Rectangle(38, 411, 81, 16));
labelFounds.setText("Encontrados: ");
jContentPane = new JPanel();
jContentPane.setLayout(null);
border1 = new JLabel();
border1.setLayout(null);
border1.setBounds(new Rectangle(244, 7, 357, 80));
border1.setBorder(new TitledBorder("Pesquisa"));
border2 = new JLabel();
border2.setLayout(null);
border2.setBounds(new Rectangle(24, 391, 149, 55));
border2.setBorder(new TitledBorder("Resultados"));
border3 = new JLabel();
border3.setLayout(null);
border3.setBounds(new Rectangle(213, 391, 389, 55));
border3.setBorder(new TitledBorder("Confirmação"));
border4 = new JLabel();
border4.setLayout(null);
border4.setBounds(new Rectangle(120, 7, 116, 80));
border4.setBorder(new TitledBorder("Produto"));
jContentPane.add(border1, null);
jContentPane.add(border2, null);
jContentPane.add(border3, null);
jContentPane.add(border4, null);
jContentPane.add(getJScrollPane(), null);
jContentPane.add(getBListar(), null);
jContentPane.add(getBExcluir(), null);
jContentPane.add(labelFounds, null);
jContentPane.add(labelNumFounds, null);
jContentPane.add(getBAlterar(), null);
jContentPane.add(getBImprimir(), null);
jContentPane.add(getBCadastrar(), null);
jContentPane.add(getBRelatorio(), null);
jContentPane.add(labelEntrada, null);
jContentPane.add(getCampoEntrada(), null);
jContentPane.add(labelTipoConsulta, null);
jContentPane.add(getListaConsulta(), null);
jContentPane.add(getBConsultar(), null);
}
return jContentPane;
}
private JScrollPane getJScrollPane()
throws DenttalException{
if (jScrollPane == null) {
jScrollPane = new JScrollPane(getJTable());
jScrollPane.setBounds(new Rectangle(28, 95, 572, 280));
labelNumFounds.setText(String.valueOf(getJTable().getModel().getRowCount()));
//acima, esse método traz a quantidade de linhas buscadas
}
return jScrollPane;
}
private JTable getJTable()
throws DenttalException
{
ResultSet resultset = null;
try {
resultset = getFachada().listarAlmoxarifado(resultset);//chama o métododo listar no DBConnection
return(displayResultSet(resultset));
}
catch (SQLException e ) {
JOptionPane.showMessageDialog(null,
"Erro!", "Denttal!",
JOptionPane.ERROR_MESSAGE, null);
}
return(jTable);
}
private JTable createTable(Vector rows, Vector columnHeads)
{
jTable = new JTable(rows, columnHeads);
validate();
return(jTable);
}
private JTable displayResultSet(ResultSet rs)
throws SQLException
{
boolean moreRecords = rs.next();
Vector<String> columnHeads = new Vector<String>();
Vector rows = new Vector();
if (! moreRecords)
{
ResultSetMetaData rsmd = rs.getMetaData();
for (int i = 1; i <= rsmd.getColumnCount(); ++i)
columnHeads.addElement(rsmd.getColumnName(i));
JOptionPane.showMessageDialog(null,
"Nenhum valor registrado!", "Denttal!",
JOptionPane.INFORMATION_MESSAGE, null);
}else{
try
{
ResultSetMetaData rsmd = rs.getMetaData();
for (int i = 1; i <= rsmd.getColumnCount(); ++i)
columnHeads.addElement(rsmd.getColumnName(i));
do {
rows.addElement(getNextRow(rs, rsmd));
} while (rs.next());
}catch (SQLException sqlex) {
sqlex.printStackTrace();
}
}//fim do else
rs.close();//Fecha a conexão aberta no BDConnection
return(createTable(rows, columnHeads));
}
private Vector getNextRow(ResultSet rs, ResultSetMetaData rsmd)
throws SQLException
{
Vector currentRow = new Vector();
for (int i = 1; i <= rsmd.getColumnCount(); ++i)
switch(rsmd.getColumnType(i)) {
case Types.VARCHAR: currentRow.addElement(rs.getString(i));
break;
case Types.INTEGER:currentRow.addElement(new Long(rs.getLong(i)));
break;
case Types.DOUBLE:currentRow.addElement(rs.getDouble(i));
break;
}
return currentRow;
}
private JButton getBListar(){
if (bListar == null) {
bListar = new JButton();
bListar.setBounds(new Rectangle(502, 414, 90, 25));
bListar.setText("Listar");
bListar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
jTable.updateUI();
jScrollPane.updateUI();
}
});
};
return bListar;
}
private JButton getBExcluir() {
if (bExcluir == null) {
bExcluir = new JButton();
bExcluir.setBounds(new Rectangle(410, 414, 90, 25));
bExcluir.setText("Excluir");
bExcluir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
if(jTable.getSelectedRow() < 0)
{
JOptionPane.showMessageDialog(null,
"Selecione uma linha primeiro!", "Denttal!",
JOptionPane.INFORMATION_MESSAGE, null);
}else{
int opcao;
Object[] botoes = {"Sim", "Não"};
opcao = JOptionPane.showOptionDialog(null,
"Deseja mesmo excluir este item?",
"Sim", JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE,
null, botoes, botoes[0]);
if(opcao == JOptionPane.YES_OPTION){
System.out.println("ok");
validate();
}
}
}
});
};
return bExcluir;
}
private JButton getBAlterar() {
if (bAlterar == null) {
bAlterar = new JButton();
bAlterar.setBounds(new Rectangle(318, 414, 90, 25));
bAlterar.setText("Alterar");
}
return bAlterar;
}
private JButton getBImprimir() {
if (bImprimir == null) {
bImprimir = new JButton();
bImprimir.setBounds(new Rectangle(226, 414, 90, 25));
bImprimir.setText("Imprimir");
}
return bImprimir;
}
private JButton getBCadastrar() {
if (bCadastrar == null) {
bCadastrar = new JButton();
bCadastrar.setBounds(new Rectangle(134, 27, 90, 25));
bCadastrar.setText("Incluir");
}
return bCadastrar;
}
private JButton getBRelatorio() {
if (bRelatorio == null) {
bRelatorio = new JButton();
bRelatorio.setBounds(new Rectangle(134, 55, 90, 25));
bRelatorio.setText("Relatório");
}
return bRelatorio;
}
private JTextField getCampoEntrada() {
if (campoEntrada == null) {
campoEntrada = new JTextField();
campoEntrada.setBounds(new Rectangle(318, 30, 267, 20));
}
return campoEntrada;
}
private JComboBox getListaConsulta() {
if (listaConsulta == null) {
listaConsulta = new JComboBox(lista);
listaConsulta.setBounds(new Rectangle(341, 53, 140, 20));
}
return listaConsulta;
}
private JButton getBConsultar() {
if (bConsultar == null) {
bConsultar = new JButton();
bConsultar.setBounds(new Rectangle(495, 53, 90, 25));
bConsultar.setText("Consultar");
}
return bConsultar;
}
} // @jve:decl-index=0:visual-constraint="44,24"