public Vector consultarTipo(Mercadoria m)
{
try
{
PreparedStatement sql=DAOFactoryPSQL.getConnection().prepareStatement("select * from mercadoria where tipo like ?");
sql.setString(1, m.getTipo()+"%");
ResultSet r= sql.executeQuery();
Vector v= new Vector();
while(r.next())
{
Mercadoria mercadoria= new Mercadoria();
mercadoria.setDescricao(r.getString("descricao"));
v.add(mercadoria);
}
return v;
}
catch (Exception e)
{
JOptionPane.showMessageDialog(null,"Erro durante a consulta das descrições dos produtos: "+e,"ERRO",JOptionPane.ERROR_MESSAGE);
return null;
}
}
package visao;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.util.Vector;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import modelo.Mercadoria;
import modelo.Tipo;
import dao.DAOFactory;
import dao.DAOMercadoria;
import dao.DAOTipo;
public class TelaVenda extends JFrame {
private JButton btnIncluirItem,btnRealizarVenda,btnCancelar,btnLimpar;
private JPanel pnl1,pnl2,pnl3,pnl4;
private JLabel lblTipoProduto,lblDescricaoProduto;
private JComboBox cmbTipo,cmbDescricao;
private JTextField txtPrecoVenda;
private JTable jTable;
private JScrollPane scrollTabela;
static String guardaTipo,guardaTipo2;
static boolean escolha = true;
Container c;
public TelaVenda (){
super("Realizar Venda");
//set dos containers e dos gerenciadores principair de layout
c = getContentPane();
c.setLayout(new BorderLayout());
pnl1 = new JPanel();
pnl1.setLayout(new FlowLayout(0));
//carrega os tipos de produtos existentes no Banco de Dados
cmbTipo = new JComboBox(encheComboBox());
//a variável guardaTipo está coletando o tipo que o usuário selecionou na tela
//depois é usada no método encheComboBoxDescricao()
guardaTipo = (String) cmbTipo.getSelectedItem();
cmbDescricao = new JComboBox(encheComboBoxDescricao());
pnl1.add(cmbTipo);
pnl1.add(cmbDescricao);
// adiciona painéis ao container
c.add(pnl1,BorderLayout.NORTH);
}// fim do construtor
public String[] encheComboBox(){
DAOFactory df=DAOFactory.getDAOFactory(DAOFactory.POSTGRES);
DAOTipo dao = df.getDAOTipo();
Vector <Tipo> v;
v = new Vector(30,10);
v=dao.consultarTodos();
int tam = v.size();
String[] dadosCombo = new String[tam];
try {
//String resultDados[][] = dao.getDados();
for (int i=0; i<tam;i++){
Tipo tipo = v.get(i);
//int e = v.size();
dadosCombo[i] = tipo.getTipo();
}
}
catch (Exception e){
JOptionPane.showMessageDialog(null,"Erro durante o preenchimento dos tipos de produto :"+e,"ERRO",JOptionPane.ERROR_MESSAGE);
}
return dadosCombo;
}// fim do método encheComboBox()
public String [] encheComboBoxDescricao(){
DAOFactory df=DAOFactory.getDAOFactory(DAOFactory.POSTGRES);
DAOMercadoria dao = df.getDAOMercadoria();
Vector <Mercadoria> v;
v = new Vector(30,10);
Mercadoria tipo = new Mercadoria();
tipo.setTipo(guardaTipo);
v = dao.consultarTipo(tipo);
int tam = v.size();
String dadosCombo[] = new String[tam];
escolha = false;
for (int i=0;i<tam;i++){
Mercadoria mercadoria = v.get(i);
dadosCombo[i]=mercadoria.getDescricao();
}
return dadosCombo;
}
public void setOuvint (ActionListener controle){
cmbDescricao.addActionListener(controle);
}
public static String getGuardaTipo() {
return guardaTipo;
}
public static void setGuardaTipo(String guardaTipo) {
TelaVenda.guardaTipo = guardaTipo;
}
public static String getGuardaTipo2() {
return guardaTipo2;
}
public static void setGuardaTipo2(String guardaTipo2) {
TelaVenda.guardaTipo2 = guardaTipo2;
}
public static boolean isEscolha() {
return escolha;
}
public static void setEscolha(boolean escolha) {
TelaVenda.escolha = escolha;
}
}
Pleeeeeeeeease galera... me ajuda ae a atualizar essa combo!!!
Um grande abraço a todos!!
Valeu pela ajuda!!!