Avaliem meu código (estudando)

2 respostas
B

Oi pessoal, sou novo por aqui. Estou estudando Java por conta, fiz alguns cursos em diversos sites, alguns muitos conhecidos. Porém minha assinatura acabou :cry:, desde então estou mandando bala sozinho.
Bem, estou fazendo um formulário básico com os JFrame, e depois de eu digitar os dados ele é jogado JTextArea, mostrando nome, endereço, cpf e etc, dados pessoais de um usuário. Estava com dificuldade em como jogar os dados no JTextArea, procurando procurei o comando append, então utilizei ele para cada atributo (nome, cpf, endereço etc), minha dúvida é: posso usar desta forma? ou eu não estou usando as boas práticas?

`

import java.util.Locale;

import javax.swing.JComponent;

import javax.swing.JTextArea;

import javax.swing.JTextField;

/*

  • 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.
    */

/**
*

  • @author ricardo
    */

public class CadastroPainel extends javax.swing.JFrame {

private JTextArea setText() {
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}


/**
 * Creates new form CadastroPainel
 */

public CadastroPainel() {
    initComponents();
}

public class Pessoa{
    String nome, cpf, dataNascimento;
           
}

/**
 * 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">                          
private void initComponents() {

    jPanel1 = new javax.swing.JPanel();
    jLabel1 = new javax.swing.JLabel();
    jLabel2 = new javax.swing.JLabel();
    jLabel3 = new javax.swing.JLabel();
    jLabel4 = new javax.swing.JLabel();
    nome = new javax.swing.JTextField();
    cpf = new javax.swing.JFormattedTextField();
    dataNascimento = new javax.swing.JFormattedTextField();
    jPanel2 = new javax.swing.JPanel();
    jLabel5 = new javax.swing.JLabel();
    jLabel6 = new javax.swing.JLabel();
    jLabel7 = new javax.swing.JLabel();
    jLabel8 = new javax.swing.JLabel();
    jLabel9 = new javax.swing.JLabel();
    jLabel10 = new javax.swing.JLabel();
    endereco = new javax.swing.JTextField();
    bairro = new javax.swing.JTextField();
    cidade = new javax.swing.JTextField();
    numero = new javax.swing.JFormattedTextField();
    cep = new javax.swing.JFormattedTextField();
    novo = new javax.swing.JButton();
    gerarRelatorio = new javax.swing.JButton();
    jScrollPane1 = new javax.swing.JScrollPane();
    relatorio = new javax.swing.JTextArea();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setIconImages(null);
    setMinimumSize(new java.awt.Dimension(577, 550));
    setResizable(false);
    getContentPane().setLayout(null);

    jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());

    jLabel1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
    jLabel1.setText("Dados Pessoais");

    jLabel2.setText("Nome:");

    jLabel3.setText("Dt Nasc:");

    jLabel4.setText("CPF:");

    nome.setHorizontalAlignment(javax.swing.JTextField.CENTER);
    nome.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            nomeActionPerformed(evt);
        }
    });

    try {
        cpf.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("###.###.###-##")));
    } catch (java.text.ParseException ex) {
        ex.printStackTrace();
    }
    cpf.setHorizontalAlignment(javax.swing.JTextField.CENTER);
    cpf.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            cpfActionPerformed(evt);
        }
    });

    try {
        dataNascimento.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("##/##/####")));
    } catch (java.text.ParseException ex) {
        ex.printStackTrace();
    }
    dataNascimento.setHorizontalAlignment(javax.swing.JTextField.CENTER);
    dataNascimento.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            dataNascimentoActionPerformed(evt);
        }
    });

    javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
    jPanel1.setLayout(jPanel1Layout);
    jPanel1Layout.setHorizontalGroup(
        jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(jPanel1Layout.createSequentialGroup()
            .addContainerGap()
            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGroup(jPanel1Layout.createSequentialGroup()
                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jLabel3)
                        .addComponent(jLabel2))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(jPanel1Layout.createSequentialGroup()
                            .addComponent(nome, javax.swing.GroupLayout.PREFERRED_SIZE, 191, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(53, 53, 53)
                            .addComponent(jLabel4)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                            .addComponent(cpf, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addComponent(dataNascimento, javax.swing.GroupLayout.PREFERRED_SIZE, 112, javax.swing.GroupLayout.PREFERRED_SIZE))))
            .addContainerGap(68, Short.MAX_VALUE))
    );
    jPanel1Layout.setVerticalGroup(
        jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(jPanel1Layout.createSequentialGroup()
            .addContainerGap()
            .addComponent(jLabel1)
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(jLabel2)
                .addComponent(jLabel4)
                .addComponent(nome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(cpf, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(jLabel3)
                .addComponent(dataNascimento, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addContainerGap(21, Short.MAX_VALUE))
    );

    getContentPane().add(jPanel1);
    jPanel1.setBounds(20, 20, 520, 110);

    jPanel2.setBorder(javax.swing.BorderFactory.createEtchedBorder());

    jLabel5.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
    jLabel5.setText("Endereço");

    jLabel6.setText("Endereço:");

    jLabel7.setText("Nº:");

    jLabel8.setText("CEP:");

    jLabel9.setText("Cidade:");

    jLabel10.setText("Bairro:");

    endereco.setHorizontalAlignment(javax.swing.JTextField.CENTER);
    endereco.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            enderecoActionPerformed(evt);
        }
    });

    bairro.setHorizontalAlignment(javax.swing.JTextField.CENTER);

    cidade.setHorizontalAlignment(javax.swing.JTextField.CENTER);
    cidade.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            cidadeActionPerformed(evt);
        }
    });

    try {
        numero.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("###")));
    } catch (java.text.ParseException ex) {
        ex.printStackTrace();
    }
    numero.setHorizontalAlignment(javax.swing.JTextField.CENTER);

    try {
        cep.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("#####-###")));
    } catch (java.text.ParseException ex) {
        ex.printStackTrace();
    }
    cep.setHorizontalAlignment(javax.swing.JTextField.CENTER);

    javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
    jPanel2.setLayout(jPanel2Layout);
    jPanel2Layout.setHorizontalGroup(
        jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(jPanel2Layout.createSequentialGroup()
            .addContainerGap()
            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel2Layout.createSequentialGroup()
                    .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGroup(jPanel2Layout.createSequentialGroup()
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jLabel6)
                        .addComponent(jLabel8)
                        .addComponent(jLabel9))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(jPanel2Layout.createSequentialGroup()
                            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(cep, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(endereco, javax.swing.GroupLayout.PREFERRED_SIZE, 176, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 64, Short.MAX_VALUE)
                            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jLabel10)
                                .addComponent(jLabel7))
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                .addComponent(bairro, javax.swing.GroupLayout.DEFAULT_SIZE, 83, Short.MAX_VALUE)
                                .addComponent(numero))
                            .addGap(82, 82, 82))
                        .addGroup(jPanel2Layout.createSequentialGroup()
                            .addComponent(cidade, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))))
    );
    jPanel2Layout.setVerticalGroup(
        jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(jPanel2Layout.createSequentialGroup()
            .addContainerGap()
            .addComponent(jLabel5)
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(jPanel2Layout.createSequentialGroup()
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel6)
                        .addComponent(endereco, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel8)
                        .addComponent(cep, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGroup(jPanel2Layout.createSequentialGroup()
                    .addComponent(jLabel7)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(jLabel10))
                .addGroup(jPanel2Layout.createSequentialGroup()
                    .addComponent(numero, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(bairro, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(jLabel9)
                .addComponent(cidade, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addContainerGap(25, Short.MAX_VALUE))
    );

    getContentPane().add(jPanel2);
    jPanel2.setBounds(20, 140, 520, 150);

    novo.setText("Novo");
    novo.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            novoActionPerformed(evt);
        }
    });
    getContentPane().add(novo);
    novo.setBounds(330, 330, 150, 23);

    gerarRelatorio.setText("Gerar Relatório");
    gerarRelatorio.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            gerarRelatorioActionPerformed(evt);
        }
    });
    getContentPane().add(gerarRelatorio);
    gerarRelatorio.setBounds(80, 330, 150, 23);

    relatorio.setColumns(20);
    relatorio.setRows(5);
    jScrollPane1.setViewportView(relatorio);

    getContentPane().add(jScrollPane1);
    jScrollPane1.setBounds(20, 390, 520, 96);

    pack();
}// </editor-fold>                        

private void novoActionPerformed(java.awt.event.ActionEvent evt) {                                     
    // TODO add your handling code here:
}                                    

private void nomeActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        nome.getText();
}                                    

private void cpfActionPerformed(java.awt.event.ActionEvent evt) {                                    
    // TODO add your handling code here:
        cpf.getText();
}                                   

private void cidadeActionPerformed(java.awt.event.ActionEvent evt) {                                       
    // TODO add your handling code here:
}                                      

private void gerarRelatorioActionPerformed(java.awt.event.ActionEvent evt) {                                               
    // TODO add your handling code here:
    //Dados Pessoais
    relatorio.append("====Dados Pessoais==== \n ");
    relatorio.append("Nome: ");
    relatorio.append(nome.getText());
    relatorio.append("\n");
    relatorio.append("CPF: ");
    relatorio.append(cpf.getText());
    relatorio.append("\n");
    relatorio.append("Data de nascimento: ");
    relatorio.append(dataNascimento.getText());
    
    //Endereço
      relatorio.append("\n \n");
      relatorio.append("===Endereço===");
      relatorio.append("\n"); 
      relatorio.append("Endereço: "); 
      relatorio.append(endereco.getText());
      relatorio.append("\n");
      relatorio.append("Número: ");
      relatorio.append(numero.getText());
      relatorio.append("\n");
      relatorio.append("CEP: ");
      relatorio.append(cep.getText());
      relatorio.append("\n");
      relatorio.append("Bairro: "); 
      relatorio.append(bairro.getText());
      relatorio.append("\n");
      relatorio.append("Cidade: ");
      relatorio.append(cidade.getText());
      

}                                              

private void dataNascimentoActionPerformed(java.awt.event.ActionEvent evt) {                                               
    // TODO add your handling code here:
    dataNascimento.getText();
}                                              

private void enderecoActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // TODO add your handling code here:
    endereco.getText();
}                                        



/**
 * @param args the command line arguments
 */
public static void main(String args[]) {
    /* Set the Nimbus look and feel */
    //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
    /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
     * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
     */
    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 ex) {
        java.util.logging.Logger.getLogger(CadastroPainel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (InstantiationException ex) {
        java.util.logging.Logger.getLogger(CadastroPainel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (IllegalAccessException ex) {
        java.util.logging.Logger.getLogger(CadastroPainel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
        java.util.logging.Logger.getLogger(CadastroPainel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }
    //</editor-fold>
    
 
    /* Create and display the form */
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new CadastroPainel().setVisible(true);
            
        }
        
    });
}

// Variables declaration - do not modify                     
private javax.swing.JTextField bairro;
private javax.swing.JFormattedTextField cep;
private javax.swing.JTextField cidade;
private javax.swing.JFormattedTextField cpf;
private javax.swing.JFormattedTextField dataNascimento;
private javax.swing.JTextField endereco;
private javax.swing.JButton gerarRelatorio;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextField nome;
private javax.swing.JButton novo;
private javax.swing.JFormattedTextField numero;
private javax.swing.JTextArea relatorio;
// End of variables declaration

}
`

2 Respostas

D

Se está funcionando, então pode usar dessa forma.
Caso não tenha gostado dessa forma, poderia usar a classe StringBuilder.

// Exemplo
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("====Dados Pessoais==== \n ");
/* ....  */
relatorio.append(stringBuilder.toString());
B

Obrigado Diego,
Vou experimentar essa forma que você me passou. Achei que com o append ficou um pouco bagunçado, pode ser impressão minha por não estar muito acostumado rs

Criado 14 de março de 2016
Ultima resposta 14 de mar. de 2016
Respostas 2
Participantes 2