Como faça para ler o quando salvo em xml
Exportar e importar do xml
C
2 Respostas
C
package Pessoa;
import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
/**
*
-
@author cassi
*/
public class Pessoa extends javax.swing.JFrame {private DocumentBuilder builder; private DocumentBuilderFactory factory; private Document docXML; private TransformerFactory transformerFactory; private Transformer transformer; private DOMSource documentoFonte; private StreamResult documentoFinal; private Object buffRead;
/**
- Creates new form Pessoa
*/
public Pessoa() {
initComponents();
try {
listarPessoa();
} catch (ParserConfigurationException ex) {
Logger.getLogger(Pessoa.class.getName()).log(Level.SEVERE, null, ex);
}
}
/**
-
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”) // private void initComponents() {
jPanel1 = new javax.swing.JPanel(); jLabelNome = new javax.swing.JLabel(); jLabelData = new javax.swing.JLabel(); jLabelCpf = new javax.swing.JLabel(); jLabelEmail = new javax.swing.JLabel(); jButtonSalvar = new javax.swing.JButton(); jTextFieldNome = new javax.swing.JTextField(); jTextFieldData = new javax.swing.JTextField(); jTextFieldCpf = new javax.swing.JTextField(); jTextFieldEmail = new javax.swing.JTextField(); jScrollPane1 = new javax.swing.JScrollPane(); jTablePessoa = new javax.swing.JTable();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabelNome.setText(“Nome:”);jLabelData.setText(“Data de Nascimento:”);jLabelCpf.setText(“CPF:”);jLabelEmail.setText(“Email:”);jButtonSalvar.setText(“Salvar”); jButtonSalvar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonSalvarActionPerformed(evt); } });
jTextFieldNome.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jTextFieldNomeActionPerformed(evt); } });
jTextFieldData.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jTextFieldDataActionPerformed(evt); } });
jTextFieldEmail.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jTextFieldEmailActionPerformed(evt); } });
jTablePessoa.setModel(new javax.swing.table.DefaultTableModel(
new Object[][] {}, new String [] { "Nome", "Data", "Cpf", "Email" }
)); jTablePessoa.addKeyListener(new java.awt.event.KeyAdapter() { public void keyPressed(java.awt.event.KeyEvent evt) { jTablePessoaKeyPressed(evt); } }); jScrollPane1.setViewportView(jTablePessoa);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addGap(32, 32, 32) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabelEmail) .addComponent(jLabelCpf) .addComponent(jLabelData) .addComponent(jLabelNome) .addComponent(jTextFieldNome, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) .addComponent(jTextFieldData, javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jTextFieldCpf, javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jTextFieldEmail, javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jButtonSalvar, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 39, Short.MAX_VALUE) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 375, javax.swing.GroupLayout.PREFERRED_SIZE)) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 301, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(jPanel1Layout.createSequentialGroup() .addComponent(jLabelNome) .addGap(2, 2, 2) .addComponent(jTextFieldNome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jLabelData) .addGap(7, 7, 7) .addComponent(jTextFieldData, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jLabelCpf) .addGap(5, 5, 5) .addComponent(jTextFieldCpf, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jLabelEmail) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jTextFieldEmail, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent(jButtonSalvar) .addGap(42, 42, 42))) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) );
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addContainerGap()) );
pack();
}//
private void jTextFieldNomeActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: }
private void jTextFieldDataActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: }
private void jTextFieldEmailActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: }
private void jTablePessoaKeyPressed(java.awt.event.KeyEvent evt) { if (evt.getKeyCode() == 127) { if (JOptionPane.showConfirmDialog(null, “Confime!”) == 0) { DefaultTableModel tabela; tabela = (DefaultTableModel) jTablePessoa.getModel(); tabela.removeRow(jTablePessoa.getSelectedRow()); } else { JOptionPane.showMessageDialog(null, “Favor selecionar uma linha”); } } }
private void jButtonSalvarActionPerformed(java.awt.event.ActionEvent evt) {
}
- Creates new form Pessoa
C
/**
* @param args the command line arguments
<em>/
public static void main(String args[]) {
/</em> Set the Nimbus look and feel <em>/
//
/</em> If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see <a href="http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html">http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html</a>
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if (“Nimbus”.equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Pessoa.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(() -> {
new Pessoa().setVisible(true);
});
}
public void listarPessoa() throws ParserConfigurationException {
factory = DocumentBuilderFactory.newInstance();
builder = factory.newDocumentBuilder();
try {
docXML = builder.parse("pessoas.xml");
Element pessoas = docXML.getDocumentElement();
NodeList pessoaList = pessoas.getElementsByTagName("pessoa");
DefaultTableModel tabela = (DefaultTableModel) jTablePessoa.getModel();
for (int i = 0; i < pessoaList.getLength(); i++) {
Element nodePessoa = (Element) pessoaList.item(i);
NodeList nomeNode = nodePessoa.getElementsByTagName("nome");
Node nodeNome = nomeNode.item(0).getFirstChild();
NodeList dataNascNode = nodePessoa.getElementsByTagName("data_nasc");
Node nodeData = dataNascNode.item(0).getFirstChild();
NodeList cpfNode = nodePessoa.getElementsByTagName("cpf");
Node nodeCpf = cpfNode.item(0).getFirstChild();
NodeList emailNode = nodePessoa.getElementsByTagName("email");
Node nodeEmail = emailNode.item(0).getFirstChild();
tabela.addRow(new Object[]{
nodeNome.getTextContent(),
nodeData.getTextContent(),
nodeEmail.getTextContent(),
nodeCpf.getTextContent()}
);
}
} catch (SAXException | IOException ex) {
JOptionPane.showMessageDialog(null, "FALHA : " + ex.getMessage());
}
}
// Variables declaration - do not modify
private javax.swing.JButton jButtonSalvar;
private javax.swing.JLabel jLabelCpf;
private javax.swing.JLabel jLabelData;
private javax.swing.JLabel jLabelEmail;
private javax.swing.JLabel jLabelNome;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTablePessoa;
private javax.swing.JTextField jTextFieldCpf;
private javax.swing.JTextField jTextFieldData;
private javax.swing.JTextField jTextFieldEmail;
private javax.swing.JTextField jTextFieldNome;
// End of variables declaration
}
Criado 8 de dezembro de 2017
Ultima resposta 8 de dez. de 2017
Respostas 2
Participantes 1
Alura Sistemas operacionais: entenda seu conceito e suas funções Descubra o que são sistemas operacionais, suas funções e tipos. Aprenda tudo de forma clara e objetiva. Não perca tempo!
Casa do Codigo Orientacao a Objetos: Aprenda seus conceitos e suas... Por Thiago Leite e Carvalho — Casa do Codigo