Java tutorial
/* * 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; } }; }