Dúvida com painel
3 Respostas
Oi Nunts.
Código acima ? Qual código ? 
Sobre sua dúvida, terá de adicionar ao botão um actionListener para identificar quando o mesmo é clicado, efetuar a busca das informações na base de dados (acredito que você use), criar o seu Panel com os inputs/text/label que desejar e simplesmente popular os mesmos.
Você tentou algo do gênero?
Oi nel, eu separei tudo em pacotes, formulários, beans, persistência , modelos, etc, vou seguir a linha de pesquisa sobre o que você falou para ver se consigo... siim e o código apenas da janela de cadastro que é a que eu queria fazer as alterações de painel é mais ou menos assim:package br.com.projetosica.gui; import br.com.projetosica.beans.DisciplinaMB; import br.com.projetosica.modelo.Disciplina; public class FormularioCadastroDisciplina extends javax.swing.JFrame { DisciplinaMB disciplinaMB = new DisciplinaMB(); /** Creates new form FormularioCadastroDisciplina */ public FormularioCadastroDisciplina() { 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"> private void initComponents() { txtCodigo = new javax.swing.JTextField(); txtNome = new javax.swing.JTextField(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); btnSalvar = new javax.swing.JButton(); btnSair = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("SICA - Cadastro de Disciplina"); txtCodigo.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { txtCodigoActionPerformed(evt); } }); txtCodigo.addKeyListener(new java.awt.event.KeyAdapter() { public void keyReleased(java.awt.event.KeyEvent evt) { txtCodigoKeyReleased(evt); } }); txtNome.addKeyListener(new java.awt.event.KeyAdapter() { public void keyReleased(java.awt.event.KeyEvent evt) { txtNomeKeyReleased(evt); } }); jLabel1.setText("Código"); jLabel2.setText("Nome"); btnSalvar.setText("Salvar"); btnSalvar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnSalvarActionPerformed(evt); } }); btnSair.setText("Sair"); btnSair.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnSairActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel1) .addComponent(jLabel2)) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(txtCodigo, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(txtNome, javax.swing.GroupLayout.PREFERRED_SIZE, 211, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addContainerGap(122, Short.MAX_VALUE) .addComponent(btnSalvar, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(btnSair) .addContainerGap()) ); layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {btnSair, btnSalvar}); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(txtCodigo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel1)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(txtNome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel2)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(btnSalvar) .addComponent(btnSair)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); pack(); }// </editor-fold> private void txtCodigoActionPerformed(java.awt.event.ActionEvent evt) { } private void btnSairActionPerformed(java.awt.event.ActionEvent evt) { this.dispose(); } private void btnSalvarActionPerformed(java.awt.event.ActionEvent evt) { Disciplina d = new Disciplina(); d.setCodigo(Integer.parseInt(txtCodigo.getText())); d.setNome(txtNome.getText()); disciplinaMB.inserir(d); } private void txtNomeKeyReleased(java.awt.event.KeyEvent evt) { txtNome.setText(txtNome.getText().replaceAll("[^A-Z | ^a-z]", "")); } private void txtCodigoKeyReleased(java.awt.event.KeyEvent evt) { // TODO add your handling code here: txtCodigo.setText(txtCodigo.getText().replaceAll("[^0-9]", "")); } /** * @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(FormularioCadastroDisciplina.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(FormularioCadastroDisciplina.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(FormularioCadastroDisciplina.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(FormularioCadastroDisciplina.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 FormularioCadastroDisciplina().setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JButton btnSair; private javax.swing.JButton btnSalvar; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JTextField txtCodigo; private javax.swing.JTextField txtNome; // End of variables declaration }
Perfeito, se você já desenvolve em camadas quer dizer que está no caminho certo . Sobre o seu "problema", a idéia é basicamente a mesma que você aplicou para o "Cadastro de Disciplina", a diferença, no caso, é que você faria uma pesquisa no click do botão e carregaria as informações em tela. Se vai usar um DefaultModelTable, um Combo, Checkbox ou qualquer outra coisa, ai é questão de ponto de vista e opinião. Se o usuário puder escolher apenas uma disciplina e um código, por exemplo, um combo já é suficiente, se puder várias, um tabela talvez seja mais adequado. Como eu disse, é questão de ponto vista.