ola tudo bom ? preciso de uma ajuda para adicionar valor da combobox na tabela e depois disso pegar o valor e salvar da forma normal sem combobox dar certo de salvar mas ai fui adicionar uma combobox e nao consegui mais salvar o nome do vendedor nao da erro nenhum só nao pega o valor da combobox para adicionar e para salvar…ja populei a combobox ai so falta essas duas coisas
segue minha tela de vendas
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
import org.hibernate.Criteria;
import org.hibernate.criterion.Order;
import datechooser.beans.DateChooserCombo;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
import Modelo.Funcionario;
import Modelo.Produto;
import Modelo.Servico;
import Modelo.VendaProduto;
//import controle.Utilitarios;
// Ctrl+Shift+F => Formata o código
// Ctrl+A e Ctrl+i => Formata a seleção
public class EfetuarVenda extends JFrame {
private JLabel rotulo1, rotulo2, rotulo3,rotulo4,rotulo5,rotulo6,rotulo7,rotulo8,rotulo9,rotulo10;
private JTextField ResultDescricao,Busca,caixa1, caixa2, caixa3,caixa4,caixa5,caixa6,caixa7,caixa8,caixa9,caixa10;
private JButton botao1, botao2,botao3,botao4,botao5,botao6;
private double total,valor,qtde,soma,valorrecebido,res,estoque = 0;
boolean compraEncerrada;
private static EntityManagerFactory fabricaDeEntidades = null;
private static EntityManager gerenciador = null;
Connection con;
DateChooserCombo f = new DateChooserCombo();
DecimalFormat df= new DecimalFormat(",##0,00");
ImageIcon icone;
ImageIcon icone1;
ImageIcon icone2;
ImageIcon icone3;
ImageIcon icone4;
//ImageIcon icone5;
public EfetuarVenda(EntityManagerFactory fabricaDeEntidades2, EntityManager gerenciador2) {
super("Vendas");
Container tela = getContentPane();
icone = new ImageIcon("006.gif");
icone1 = new ImageIcon("039.gif");
icone2 = new ImageIcon("017.gif");
icone3 = new ImageIcon("017.gif");
icone4 = new ImageIcon("041.gif");
//icone5 = new ImageIcon("100.gif");
botao1 = new JButton (icone);
botao2 = new JButton (icone1);
botao3 = new JButton (icone2);
botao4 = new JButton (icone3);
botao5 = new JButton (icone4);
//botao6 = new JButton (icone5);
tela.setLayout(null);
fabricaDeEntidades=fabricaDeEntidades2;
gerenciador=gerenciador2;
rotulo1 = new JLabel("Valor Recebido");
rotulo2 = new JLabel("Cliente:");
rotulo3 = new JLabel("Total:");
rotulo4 = new JLabel("Data:");
rotulo5 = new JLabel("Código:");
rotulo6 = new JLabel("Descrição:");
rotulo7 = new JLabel("Qtde:");
rotulo8 = new JLabel("Valor:");
rotulo9 = new JLabel("Total:");
rotulo10 = new JLabel("Nome do Vendedor:");
caixa1 = new JTextField();
caixa2 = new JTextField();
caixa3 = new JTextField();
caixa3.setText("0.00");
f = new DateChooserCombo();
caixa5 = new JTextField();
caixa6 = new JTextField();
caixa7 = new JTextField();
caixa8 = new JTextField();
caixa9 = new JTextField();
caixa10 = new JTextField();
JComboBox<String> comboBox = new JComboBox<>();
Funcionario funcionario = new Funcionario();
List <Funcionario> lista = null;
List resultList;
Query consulta =
gerenciador.createQuery("SELECT i FROM Funcionario i");
resultList= consulta.getResultList();
lista = resultList;
System.out.println(lista);
for (Funcionario funcionario_ : lista) {
comboBox.addItem(funcionario_.getNomecompleto());
}
// coluna, linha, largura, altura
rotulo1.setBounds(10, 19, 47, 20);
caixa1.setBounds(68, 19, 40, 20);
botao1.setBounds(630,100, 50, 20);
botao2.setBounds(21, 510, 200, 50);
botao3.setBounds(230, 510, 200, 50);
botao4.setBounds(440, 510, 200, 50);
botao5.setBounds(21, 570, 200, 50);
//botao6.setBounds(230, 570, 200, 50);
rotulo2.setBounds(140, 19, 100, 20);
caixa2.setBounds(190, 19, 232, 20);
rotulo3.setBounds(530, 50, 70, 60);
caixa3.setBounds(560, 50, 120, 40);
rotulo4.setBounds(10, 60, 100, 20);
f.setBounds(68, 60, 140, 20);
rotulo5.setBounds(10,100, 47, 20);
caixa5.setBounds(68,100, 40, 20);
rotulo6.setBounds(120, 100, 100, 20);
caixa6.setBounds(190, 100, 180, 20);
rotulo7.setBounds(370, 100, 80, 20);
caixa7.setBounds(410, 100, 50, 20);
rotulo8.setBounds(460, 100, 50, 20);
caixa8.setBounds(500,100, 50, 20);
rotulo9.setBounds(550, 100, 50, 20);
caixa9.setBounds(580, 100, 50, 20);
rotulo10.setBounds(220, 60, 150, 20);
comboBox.setBounds(340, 60, 150, 20);
tela.add(rotulo1);
tela.add(caixa1);
tela.add(rotulo2);
tela.add(caixa2);
tela.add(botao1);
tela.add(botao2);
tela.add(botao3);
tela.add(botao4);
tela.add(botao5);
//tela.add(botao6);
tela.add(rotulo3);
tela.add(caixa3);
tela.add(rotulo4);
tela.add(f);
tela.add(rotulo5);
tela.add(caixa5);
tela.add(rotulo6);
tela.add(caixa6);
tela.add(rotulo7);
tela.add(caixa7);
tela.add(rotulo8);
tela.add(caixa8);
tela.add(rotulo9);
tela.add(caixa9);
tela.add(rotulo10);
tela.add(comboBox);
final DefaultTableModel modelo;
modelo = new
DefaultTableModel();
// constrói a tabela
JTable tabela = new JTable(modelo);
// Cria duas colunas
modelo.addColumn("Código");
modelo.addColumn("Data");
modelo.addColumn("Nome do Vendedor");
modelo.addColumn("Descrição");
modelo.addColumn("Qtde");
modelo.addColumn("Valor");
modelo.addColumn("Total");
tabela.getColumnModel().getColumn(0).setPreferredWidth(5);
tabela.getColumnModel().getColumn(1).setPreferredWidth(40);
tabela.getColumnModel().getColumn(2).setPreferredWidth(100);
tabela.getColumnModel().getColumn(3).setPreferredWidth(100);
tabela.getColumnModel().getColumn(4).setPreferredWidth(10);
tabela.getColumnModel().getColumn(5).setPreferredWidth(50);
tabela.getColumnModel().getColumn(6).setPreferredWidth(50);
JScrollPane scrollPane = new JScrollPane(tabela);
scrollPane.setBounds(20, 150, 640, 350);
tela.add(scrollPane);
botao1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// Persistir dados
// inclusão de um novo registro
//double total,valor,qtde,soma = 0;
// Produto objetoProduto = new Produto();
//if (Busca.getText().equals("")){
// JOptionPane.showMessageDialog(null, "Informe um código para busca");
//}
//else{
//objetoProduto =
// (Produto) gerenciador.createQuery(
// "from Produto pr WHERE pr.codigo = :codigo").setParameter("codigo", Busca.getText()).getSingleResult();
// if(objetoProduto != null ){
//ResultDescricao.setVisible(true);
//ResultDescricao.setEnabled(false);
//ResultDescricao.setText(objetoProduto.getDescricao());
// }else {
//JOptionPane.showMessageDialog(null,"Nao encontrado");
// }
// }
valor=Double.parseDouble(caixa8.getText());
qtde=Double.parseDouble(caixa7.getText());
total=(qtde*valor);
soma+=(qtde*valor);
//Esse + (antes do igual) vai acumular os valores em soma.
caixa9.setText(""+total);
DecimalFormat fmt = new DecimalFormat("0.00");
caixa3.setText(fmt.format(soma));
// DecimalFormat ft = new DecimalFormat("0.00");
// caixa9.setText(ft.format(total));
//código para adicionar os campos na tabela a caixa 10 é a combobox
modelo.addRow(new String [] {caixa5.getText(),f.getText(),caixa10.getText(),caixa6.getText(), caixa7.getText(), caixa8.getText(), caixa9.getText()} );
caixa2.setText("");
f.setText("");
caixa5.setText("");
caixa6.setText("");
caixa7.setText("");
caixa8.setText("");
// caixa9.setText("");
caixa10.setText("");
}
});
botao2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// TODO add your handling code here:
VendaProduto v = new VendaProduto();
//Produto p = new Produto();
// estoque = p.getQuantidade() - p.getEstoque();
v.setValorrecebido(Double.parseDouble(caixa1.getText().replace(",", ".")));
v.setTotal(Double.parseDouble(caixa9.getText().replace(",", ".")));
res = v.getValorrecebido() - v.getTotal();
do
if(v.getValorrecebido() > v.getTotal()) {
//TODO calcular diferença
//TODO apresentar troco
JOptionPane.showMessageDialog(null,
"o Troco é: " + res);
JOptionPane.showMessageDialog(null,
"Compra Finalizada com Sucesso");
compraEncerrada = true;
} else if(v.getValorrecebido() == v.getTotal()) {
JOptionPane.showMessageDialog(null,
"Compra Finalizada com Sucesso");
compraEncerrada = true;
}else if(v.getValorrecebido() < v.getTotal()) {
//TODO calcula diferença
//TODO apresenta mensagem de valor faltante
JOptionPane.showMessageDialog(null,
"Falta o Valor de: " + res);
v.setValorrecebido(Double.parseDouble(JOptionPane.showInputDialog(null, "Digite o Valor Faltante").replace(",", ".")));
JOptionPane.showMessageDialog(null,
"Venda Efetuada com Sucesso");
compraEncerrada = true;
}else {
JOptionPane.showMessageDialog(null,
"A Compra Não Pode Ser Finalizada");
compraEncerrada = false;
}
while(!compraEncerrada);
//código para salvar seria o nome do vendedor funcionario
for (int i = 0; i < modelo.getRowCount(); i ++ )
{
VendaProduto it = new VendaProduto();
it.setCodigodebarras(Integer.parseInt(String.valueOf(modelo.getValueAt(i, 0))));
it.setData(f.getSelectedDate());
it.setNomevendedor(String.valueOf(modelo.getValueAt(i, 2)));
// Funcionario est =lista.get(comboBox.getSelectedIndex());
<a href="//it.setFuncionario">//it.setFuncionario</a>(est);
it.setDescricao(String.valueOf(modelo.getValueAt( i ,3)));
it.setQtde(Integer.parseInt(String.valueOf(modelo.getValueAt( i ,4))));
it.setValor(Double.parseDouble(String.valueOf(modelo.getValueAt( i ,5))));
it.setTotal(Double.parseDouble(String.valueOf(modelo.getValueAt( i ,6))));
gerenciador.getTransaction().begin();
gerenciador.persist(it);
gerenciador.getTransaction().commit();
}
}
});
botao3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// fecha a janela
CalcularOrcamento c = new CalcularOrcamento(fabricaDeEntidades, gerenciador);
}
});
botao4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// fecha a janela
CalcularPagamento c = new CalcularPagamento(fabricaDeEntidades, gerenciador);
}
});
botao5.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// fecha a janela
ListarVendas v = new ListarVendas(fabricaDeEntidades, gerenciador);
}
});
//botao6.addActionListener(new ActionListener() {
//public void actionPerformed(ActionEvent e) {
// fecha a janela
// RelatorioVenda rep = new RelatorioVenda();
//JasperPrint relat;
// try{
// relat= rep.gerarRelatorioVenda();
// JasperViewer.viewReport(relat,false);
// }
// catch (Exception e1)
// { e1.printStackTrace(); }
// }
// });
// setSize(largura, altura);
setSize(700, 700);
setVisible(true);
setLocationRelativeTo(null);
}
public static void main(String[] args) {
fabricaDeEntidades = Persistence
.createEntityManagerFactory("TurmaN40PostgreSQL");
gerenciador = fabricaDeEntidades.createEntityManager();
EfetuarVenda app = new EfetuarVenda(fabricaDeEntidades, gerenciador);
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}