Adicionar valor de uma combobox em uma tabela e salvar da tabela no banco de dados

1 resposta
java
Dfodani

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);

}

	}

1 Resposta

FearX

Aproveita e:

Criado 12 de janeiro de 2020
Ultima resposta 13 de jan. de 2020
Respostas 1
Participantes 2