public void actionPerformed(ActionEvent e) {

		if (e.getSource() == botaoOkManterProdutos){
			painel.setVisible(false);
			painelManterProdutos();
		} else if(e.getSource() == botaoOkCadastrarVenda){
			painel.setVisible(false);
			painelCadastrarVenda();
		} else if (e.getSource() == botaoOkConsultarVenda){
			painel.setVisible(false);
			painelConsultarVenda();
		} else if (e.getSource() == botaoOkSair){
			JOptionPane.showMessageDialog(null, "Saída do sistema!");
			System.exit(0);
		} else if (e.getSource() == botaoOkIncluir){
			painel.setVisible(false);
			painelManterProdutos.setVisible(false);
			painelIncluirProduto();
		} else if (e.getSource() == botaoVoltarInclusaoProdutos){
			painelIncluirProduto.setVisible(false);
			painelManterProdutos.setVisible(true);
		} else if (e.getSource() == botaoVoltarExcluirProduto){
			painelExcluirProduto.setVisible(false);
			painelManterProdutos.setVisible(true);
		} else if (e.getSource() == botaoOkAlterar){
			painel.setVisible(false);
			painelManterProdutos.setVisible(false);
			painelAlterarProduto();
		} else if (e.getSource() == botaoVoltarAlterarProduto){
			painelAlterarProduto.setVisible(false);
			painelManterProdutos.setVisible(true);
		} else if (e.getSource() == botaoOkConsultarProduto){
			painel.setVisible(false);
			painelManterProdutos.setVisible(false);
			painelConsultarProduto();
		} else if (e.getSource() == botaoVoltarConsultarProduto){
			painelConsultarProduto.setVisible(false);
			painelManterProdutos.setVisible(true);
		} else if (e.getSource() == botaoVoltarManterProdutos){
			painelManterProdutos.setVisible(false);
			painel.setVisible(true);
		} else if (e.getSource() == botaoOkExcluir){
			painel.setVisible(false);
			painelManterProdutos.setVisible(false);
			painelExcluirProduto();
		} else if (e.getSource() == botaoVoltarConsultarVenda){
			painelConsultarVenda.setVisible(false);
			painel.setVisible(true);
		} else if (e.getSource() == botaoVoltarCadastrarVenda){
			painelCadastrarVenda.setVisible(false);
			painel.setVisible(true);
		} else if (e.getSource() == botaoVerificarExistencia){

			String codString = codigoProdutoText.getText();

			int codigo = Integer.parseInt(codString);

			SistemaFinal.verificarProduto(codigo);
		} else if (e.getSource() == incluirProduto){

			if (nomeProdutoText.getText().isEmpty() || descricaoProdutoText.getText().isEmpty() || unidadeProdutoText.getText().isEmpty() || precoProdutoText.getText().isEmpty()){


				JOptionPane.showMessageDialog(null, "Algum campo está vazio");

			} else {
				String nome = nomeProdutoText.getText();
				String descricao = descricaoProdutoText.getText();
				String precoString = precoProdutoText.getText();
				float preco = Float.parseFloat(precoString);
				String unidade = unidadeProdutoText.getText();

				SistemaFinal.incluirProduto(nome, descricao, preco, unidade);
				
				painelIncluirProduto.setVisible(false);
				painelIncluirProduto();
				
			}

		} else if (e.getSource() == alterarProduto){

			if (codigoProdutoText.getText().isEmpty() || nomeProdutoText.getText().isEmpty() || descricaoProdutoText.getText().isEmpty() || unidadeProdutoText.getText().isEmpty() || precoProdutoText.getText().isEmpty()){

				JOptionPane.showMessageDialog(null, "Algum campo está vazio");

			} else {
				String codigoString = codigoProdutoText.getText();
				int codigo = Integer.parseInt(codigoString);
				String nome = nomeProdutoText.getText();
				String descricao = descricaoProdutoText.getText();
				String precoString = precoProdutoText.getText();
				float preco = Float.parseFloat(precoString);
				String unidade = unidadeProdutoText.getText();

				SistemaFinal.alterarProduto(codigo, nome, descricao, preco, unidade);

				JOptionPane.showMessageDialog(null, "Novos valores: "+"\nNome: "+nome+"\nDescrição: "+descricao+"\nPreço: "+preco+"\nUnidade: "+unidade);
				
				painelAlterarProduto.setVisible(false);
				painelAlterarProduto();
				
			}
		} else if (e.getSource() == consultarProduto){

			String codigoString = codigoProdutoText.getText();
			int codigo = Integer.parseInt(codigoString);

			SistemaFinal.consultarProduto(codigo);
			
			painelConsultarProduto.setVisible(false);
			painelConsultarProduto();
			

		} else if (e.getSource() == excluirProduto){

			String codigoString = codigoProdutoText.getText();
			int codigo = Integer.parseInt(codigoString);

			SistemaFinal.excluirProduto(codigo);
		} else if (e.getSource() == adicionaAoCarrinho){

			GridBagConstraints gridCadastrarVenda = new GridBagConstraints();
			gridCadastrarVenda.insets = new Insets(2, 2, 2, 2);

			gridCadastrarVenda.gridx = x1;
			gridCadastrarVenda.gridy = 7;

			//Modifica y que é referente a proxima linha vazia

			JLabel codigoProdutoLabel = new JLabel("Código");
			painelCadastrarVenda.add(codigoProdutoLabel, gridCadastrarVenda);

			gridCadastrarVenda.gridx = x2;
			JLabel quantidadeTextoLabel = new JLabel("Quantidade");
			painelCadastrarVenda.add(quantidadeTextoLabel, gridCadastrarVenda);

			gridCadastrarVenda.gridx = x3;
			JLabel custoTextoLabel = new JLabel("Custo");
			painelCadastrarVenda.add(custoTextoLabel, gridCadastrarVenda);

			String codigoString = codigoProdutoText.getText();
			int codigo = Integer.parseInt(codigoString);
			codigos.add(codigo);

			String quantidadeString = quantidadeProdutoText.getText();
			int quantidade = Integer.parseInt(quantidadeString);
			quantidades.add(quantidade);

			float custo = SistemaFinal.calcularCusto(codigo, quantidade);
			custoTotalVenda = custoTotalVenda + custo;

			String custoString = String.valueOf(custo);
			String custoTotalString = String.valueOf(custoTotalVenda);

			gridCadastrarVenda.gridx = x1;
			gridCadastrarVenda.gridy = y;

			JLabel codigoProdutoTexto = new JLabel(codigoString);
			painelCadastrarVenda.add(codigoProdutoTexto, gridCadastrarVenda);

			gridCadastrarVenda.gridx = x2;
			JLabel quantidadeTexto = new JLabel(quantidadeString);
			painelCadastrarVenda.add(quantidadeTexto, gridCadastrarVenda);

			gridCadastrarVenda.gridx = x3;
			JLabel custoTexto = new JLabel(custoString);
			painelCadastrarVenda.add(custoTexto, gridCadastrarVenda);

			gridCadastrarVenda.gridx = x3+1;
			gridCadastrarVenda.gridy = 7;

			JLabel custoTotalLabel = new JLabel("Total: ");
			painelCadastrarVenda.add(custoTotalLabel, gridCadastrarVenda);

			gridCadastrarVenda.gridy = 8;
			custoTotalTexto = new JTextField(custoTotalString);
			custoTotalTexto.setFocusable(false);
			painelCadastrarVenda.add(custoTotalTexto, gridCadastrarVenda);

			painelCadastrarVenda.setVisible(false);
			painelCadastrarVenda.setVisible(true);

			y = y + 1;

		} else if (e.getSource() == finalizarVenda){

			String pagamentoString = pagamentoText.getText();
			float pagamento = Float.parseFloat(pagamentoString);

			String totalString = custoTotalTexto.getText();
			float total = Float.parseFloat(totalString);

			float troco = pagamento - total;
			String trocoString = String.valueOf(troco);

			trocoLabel.setText(trocoString);

			SistemaFinal.cadastrarVenda(codigos, quantidades, pagamento, total, troco);

			painelCadastrarVenda.setVisible(false);

			painelCadastrarVenda();

		} else if (e.getSource() == consultarVenda){
			
			if (dataVendasText.getText().isEmpty()){
				System.out.println("O campo para data está vazio.");
			} else {
				
				
				int codigo = SistemaFinal.consultarVenda(dataVendasText.getText());
				
				SistemaFinal.detalharVenda(codigo);
				
				painelConsultarVenda.setVisible(false);
				painelConsultarVenda();
			
			}
		}
	}