sistemaVendas.AlterarProduto.java Source code

Java tutorial

Introduction

Here is the source code for sistemaVendas.AlterarProduto.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package sistemaVendas;

import java.io.File;
import java.io.IOException;
import java.util.List;
import javax.swing.JDesktopPane;
import javax.swing.table.DefaultTableModel;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;

/**
 *
 * @author BRUNO
 */
public class AlterarProduto extends javax.swing.JInternalFrame {

    Document doc;
    Element root;
    /**
     * Creates new form AlterarProduto
     */
    JDesktopPane telas;

    public AlterarProduto(JDesktopPane tela) {
        telas = tela;
        initComponents();
        model2.setNumRows(0);
        tblAlteracaoProduto.setModel(model2);

        /*Alterar largura das colunas id , nome*/
        tblAlteracaoProduto.getColumnModel().getColumn(0).setMaxWidth(35);
        tblAlteracaoProduto.getColumnModel().getColumn(1).setMaxWidth(230);
        tblAlteracaoProduto.getColumnModel().getColumn(1).setMinWidth(230);

        preencherComboBox();
        lblSelecionarProdutoTabela.setVisible(false);
    }

    public void preencherComboBox() {
        File diretorio = new File("Bancos de Dados");
        File bancoTipos = new File(diretorio, "BDtipoProduto.xml");
        try {
            SAXBuilder builder = new SAXBuilder();
            doc = builder.build(bancoTipos);
            root = (Element) doc.getRootElement();
            List<Element> tipos = root.getChildren();

            for (int i = 0; i < tipos.size(); i++) {
                Element tipo = tipos.get(i);
                cbxTipoAlterarProduto.addItem(tipo.getText());
            }

        } catch (JDOMException | IOException e) {
        }
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        lblProcurarProduto = new javax.swing.JLabel();
        lblIdAlterarProduto = new javax.swing.JLabel();
        lblNomeAlterarProduto = new javax.swing.JLabel();
        lblTipoAlterarProduto = new javax.swing.JLabel();
        txtIdAlterarProduto = new javax.swing.JTextField();
        txtNomeAlterarProduto = new javax.swing.JTextField();
        cbxTipoAlterarProduto = new javax.swing.JComboBox();
        jScrollPane1 = new javax.swing.JScrollPane();
        tblAlteracaoProduto = new javax.swing.JTable();
        btnCancelarAlteracaoProduto = new javax.swing.JButton();
        lblSelecionarProdutoTabela = new javax.swing.JLabel();

        setClosable(true);
        setTitle("Alterao de Dados do Produto");

        lblProcurarProduto.setFont(new java.awt.Font("Tahoma", 3, 18)); // NOI18N
        lblProcurarProduto.setText("Procurar");

        lblIdAlterarProduto.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
        lblIdAlterarProduto.setText("ID:");

        lblNomeAlterarProduto.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
        lblNomeAlterarProduto.setText("Nome:");

        lblTipoAlterarProduto.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
        lblTipoAlterarProduto.setText("Tipo:");

        txtIdAlterarProduto.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyReleased(java.awt.event.KeyEvent evt) {
                txtIdAlterarProdutoKeyReleased(evt);
            }
        });

        txtNomeAlterarProduto.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyReleased(java.awt.event.KeyEvent evt) {
                txtNomeAlterarProdutoKeyReleased(evt);
            }
        });

        cbxTipoAlterarProduto.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                cbxTipoAlterarProdutoItemStateChanged(evt);
            }
        });

        tblAlteracaoProduto
                .setModel(new javax.swing.table.DefaultTableModel(
                        new Object[][] { { null, null, null, null }, { null, null, null, null },
                                { null, null, null, null }, { null, null, null, null } },
                        new String[] { "Title 1", "Title 2", "Title 3", "Title 4" }));
        tblAlteracaoProduto.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tblAlteracaoProdutoMouseClicked(evt);
            }

            public void mouseEntered(java.awt.event.MouseEvent evt) {
                tblAlteracaoProdutoMouseEntered(evt);
            }

            public void mouseExited(java.awt.event.MouseEvent evt) {
                tblAlteracaoProdutoMouseExited(evt);
            }
        });
        jScrollPane1.setViewportView(tblAlteracaoProduto);

        btnCancelarAlteracaoProduto.setIcon(new javax.swing.ImageIcon(getClass().getResource("/img/cancel.png"))); // NOI18N
        btnCancelarAlteracaoProduto.setText("Cancelar");
        btnCancelarAlteracaoProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnCancelarAlteracaoProdutoActionPerformed(evt);
            }
        });

        lblSelecionarProdutoTabela.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        lblSelecionarProdutoTabela.setText("Selecione o cliente na tabela para realizar as alteraes!!!");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup().addGap(281, 281, 281)
                        .addComponent(lblProcurarProduto, javax.swing.GroupLayout.PREFERRED_SIZE, 93,
                                javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGroup(layout.createSequentialGroup().addContainerGap()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(layout.createSequentialGroup().addComponent(lblIdAlterarProduto)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(txtIdAlterarProduto, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                30, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(36, 36, 36).addComponent(lblNomeAlterarProduto)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(txtNomeAlterarProduto).addGap(18, 18, 18)
                                        .addComponent(lblTipoAlterarProduto)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(cbxTipoAlterarProduto, javax.swing.GroupLayout.PREFERRED_SIZE,
                                                160, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 665,
                                        Short.MAX_VALUE))
                        .addContainerGap())
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
                                        layout.createSequentialGroup().addComponent(btnCancelarAlteracaoProduto)
                                                .addGap(34, 34, 34))
                                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                                        .addComponent(lblSelecionarProdutoTabela).addGap(197, 197, 197)))));
        layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup().addContainerGap().addComponent(lblProcurarProduto)
                        .addGap(30, 30, 30)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(lblIdAlterarProduto).addComponent(lblNomeAlterarProduto)
                                .addComponent(lblTipoAlterarProduto)
                                .addComponent(txtIdAlterarProduto, javax.swing.GroupLayout.PREFERRED_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE,
                                        javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(txtNomeAlterarProduto, javax.swing.GroupLayout.PREFERRED_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE,
                                        javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(cbxTipoAlterarProduto, javax.swing.GroupLayout.PREFERRED_SIZE,
                                        javax.swing.GroupLayout.DEFAULT_SIZE,
                                        javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(46, 46, 46)
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 232,
                                javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(lblSelecionarProdutoTabela)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 14, Short.MAX_VALUE)
                        .addComponent(btnCancelarAlteracaoProduto).addContainerGap()));

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void tblAlteracaoProdutoMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tblAlteracaoProdutoMouseClicked
        if (evt.getClickCount() == 2) {
            int i = tblAlteracaoProduto.getSelectedRow();
            String id = (String) tblAlteracaoProduto.getValueAt(i, 0);
            String nome = (String) tblAlteracaoProduto.getValueAt(i, 1);
            String tipo = (String) tblAlteracaoProduto.getValueAt(i, 2);
            String qtde = (String) tblAlteracaoProduto.getValueAt(i, 3);
            String precoUnit = (String) tblAlteracaoProduto.getValueAt(i, 4);
            String descricao = (String) tblAlteracaoProduto.getValueAt(i, 5);
            AlterarProdutoProcurado produtoProcurado = new AlterarProdutoProcurado(telas);
            telas.add(produtoProcurado);
            produtoProcurado.atualizar(id, nome, tipo, qtde, precoUnit, descricao);
            produtoProcurado.setVisible(true);
        }
    }//GEN-LAST:event_tblAlteracaoProdutoMouseClicked

    private void btnCancelarAlteracaoProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCancelarAlteracaoProdutoActionPerformed
        this.dispose();
    }//GEN-LAST:event_btnCancelarAlteracaoProdutoActionPerformed

    private void tblAlteracaoProdutoMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tblAlteracaoProdutoMouseEntered
        lblSelecionarProdutoTabela.setVisible(true);
    }//GEN-LAST:event_tblAlteracaoProdutoMouseEntered

    private void tblAlteracaoProdutoMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tblAlteracaoProdutoMouseExited
        lblSelecionarProdutoTabela.setVisible(false);
    }//GEN-LAST:event_tblAlteracaoProdutoMouseExited

    private void cbxTipoAlterarProdutoItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cbxTipoAlterarProdutoItemStateChanged
        procurar("", "", (String) cbxTipoAlterarProduto.getSelectedItem());
    }//GEN-LAST:event_cbxTipoAlterarProdutoItemStateChanged

    private void txtIdAlterarProdutoKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtIdAlterarProdutoKeyReleased
        procurar(txtIdAlterarProduto.getText(), "", "");
    }//GEN-LAST:event_txtIdAlterarProdutoKeyReleased

    private void txtNomeAlterarProdutoKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtNomeAlterarProdutoKeyReleased
        procurar("", txtNomeAlterarProduto.getText().toUpperCase(), "");
    }//GEN-LAST:event_txtNomeAlterarProdutoKeyReleased

    File diretorio = new File("Bancos de Dados");
    File arquivo = new File(diretorio, "BancoProduto.xml");

    public void procurar(String id, String nome, String tipo) {
        model2.setNumRows(0);
        try {
            SAXBuilder builder = new SAXBuilder();
            doc = builder.build(arquivo);
            root = (Element) doc.getRootElement();
            List<Element> produtos = root.getChildren();
            String dados[] = new String[6];
            for (int i = 0; i < produtos.size(); i++) {
                Element produto = produtos.get(i);
                dados[0] = produto.getAttributeValue("id");
                dados[1] = produto.getChildText("nome").toUpperCase();
                dados[2] = produto.getChild("nome").getAttributeValue("tipo");
                dados[3] = produto.getChildText("qtde");
                dados[4] = produto.getChildText("preoUnitrio");
                dados[5] = produto.getChildText("descrio");
                if (id.equals("") && nome.equals("") && tipo.equals("") || !id.equals("") && dados[0].equals(id)
                        || !nome.equals("") && dados[1].contains(nome)
                        || !tipo.equals("") && dados[2].equals(tipo)) {

                    model2.addRow(new Object[] { dados[0], dados[1], dados[2], dados[3], dados[4], dados[5] });
                }
            }

        } catch (JDOMException | IOException e) {
        }
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnCancelarAlteracaoProduto;
    private javax.swing.JComboBox cbxTipoAlterarProduto;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JLabel lblIdAlterarProduto;
    private javax.swing.JLabel lblNomeAlterarProduto;
    private javax.swing.JLabel lblProcurarProduto;
    private javax.swing.JLabel lblSelecionarProdutoTabela;
    private javax.swing.JLabel lblTipoAlterarProduto;
    private javax.swing.JTable tblAlteracaoProduto;
    private javax.swing.JTextField txtIdAlterarProduto;
    private javax.swing.JTextField txtNomeAlterarProduto;
    // End of variables declaration//GEN-END:variables

    private DefaultTableModel model2 = new DefaultTableModel(new Object[][] {},
            new String[] { "ID", "Nome", "Tipo", "Qtde Estoque", "Preo Unit", "Descrio" }) {

        public boolean isCellEditable(int row, int col) {
            return false;
        }
    };
}