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 revisaoswing; import java.awt.Color; import java.io.IOException; import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JOptionPane; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.JSONValue; import static sun.security.krb5.Confounder.bytes; /** * * @author Aluno faculdade */ public class FormCadastro extends javax.swing.JFrame { /** * Creates new form FormCadastro */ public FormCadastro() { initComponents(); } /** * 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() { btgSexo = new javax.swing.ButtonGroup(); lblNome = new javax.swing.JLabel(); txtNome = new javax.swing.JTextField(); lblDtNasc = new javax.swing.JLabel(); txtDtNasc = new javax.swing.JFormattedTextField(); lblSexo = new javax.swing.JLabel(); rbMasc = new javax.swing.JRadioButton(); rbFem = new javax.swing.JRadioButton(); lblFuncao = new javax.swing.JLabel(); cbFuncao = new javax.swing.JComboBox(); ckbVT = new javax.swing.JCheckBox(); btnCancelar = new javax.swing.JButton(); btnSalvar = new javax.swing.JButton(); jLabel1 = new javax.swing.JLabel(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); lblNome.setText("Nome:"); lblDtNasc.setText("Data de Nascimento:"); try { txtDtNasc.setFormatterFactory( new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("##/##/####"))); } catch (java.text.ParseException ex) { ex.printStackTrace(); } lblSexo.setText("Sexo:"); btgSexo.add(rbMasc); rbMasc.setSelected(true); rbMasc.setText("Masculino"); btgSexo.add(rbFem); rbFem.setText("Feminino"); lblFuncao.setText("Funo:"); cbFuncao.setModel( new javax.swing.DefaultComboBoxModel(new String[] { "Motorista", "Auxiliar", "Programador" })); ckbVT.setText("Deseja receber VT"); btnCancelar.setText("Cancelar"); btnSalvar.setText("Salvar"); btnSalvar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnSalvarActionPerformed(evt); } }); jLabel1.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N jLabel1.setText("Cadastro de Funcionrio"); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup().addGroup(layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup().addGap(148, 148, 148).addComponent(btnSalvar) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(btnCancelar)) .addGroup(layout.createSequentialGroup().addContainerGap().addComponent(ckbVT)) .addGroup(layout.createSequentialGroup().addContainerGap().addGroup(layout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel1) .addGroup(layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(layout.createSequentialGroup().addComponent(lblDtNasc) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(txtDtNasc)) .addGroup(layout.createSequentialGroup().addComponent(lblSexo) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(rbMasc).addGap(18, 18, 18).addComponent(rbFem)) .addGroup(layout.createSequentialGroup().addComponent(lblFuncao) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(cbFuncao, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGroup(layout.createSequentialGroup().addComponent(lblNome) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(txtNome, javax.swing.GroupLayout.PREFERRED_SIZE, 185, javax.swing.GroupLayout.PREFERRED_SIZE)))))) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup().addGap(4, 4, 4).addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(txtNome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(lblNome)) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(lblDtNasc).addComponent(txtDtNasc, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(25, 25, 25) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(lblSexo).addComponent(rbMasc).addComponent(rbFem)) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(lblFuncao).addComponent(cbFuncao, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(33, 33, 33).addComponent(ckbVT).addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(btnCancelar).addComponent(btnSalvar)) .addContainerGap(29, Short.MAX_VALUE))); pack(); }// </editor-fold>//GEN-END:initComponents private void btnSalvarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSalvarActionPerformed String nome = txtNome.getText(); if (nome.isEmpty()) { JOptionPane.showMessageDialog(this, "Erro", "Nome no informado", JOptionPane.ERROR_MESSAGE); return; } String dataNasc = txtDtNasc.getText(); String sexo = "f"; if (rbMasc.isSelected()) { sexo = "m"; } String funcao = cbFuncao.getSelectedItem().toString(); boolean vt = ckbVT.isSelected(); JSONObject obj = new JSONObject(); obj.put("Nome", nome); obj.put("Data", dataNasc); obj.put("Sexo", sexo); obj.put("Funcao", funcao); obj.put("VT", vt); try { RevisaoSwing.carregarArray(); RevisaoSwing.array.add(obj); byte[] bytes = RevisaoSwing.array.toJSONString().getBytes(); Files.write(RevisaoSwing.arquivo, bytes, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.WRITE); } catch (IOException ex) { Logger.getLogger(FormCadastro.class.getName()).log(Level.SEVERE, null, ex); } JOptionPane.showMessageDialog(this, "Salvo com Sucesso!"); txtNome.setText(null); txtDtNasc.setText(null); rbMasc.setSelected(true); ckbVT.setSelected(false); cbFuncao.setSelectedIndex(0); }//GEN-LAST:event_btnSalvarActionPerformed /** * @param args the command line arguments */ // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.ButtonGroup btgSexo; private javax.swing.JButton btnCancelar; private javax.swing.JButton btnSalvar; private javax.swing.JComboBox cbFuncao; private javax.swing.JCheckBox ckbVT; private javax.swing.JLabel jLabel1; private javax.swing.JLabel lblDtNasc; private javax.swing.JLabel lblFuncao; private javax.swing.JLabel lblNome; private javax.swing.JLabel lblSexo; private javax.swing.JRadioButton rbFem; private javax.swing.JRadioButton rbMasc; private javax.swing.JFormattedTextField txtDtNasc; private javax.swing.JTextField txtNome; // End of variables declaration//GEN-END:variables }