Oi pessoal, resolvi mexer um pouco com swing só que tem uma coisa que eu ainda não descobri, criei o JFrame no netbeans, criei os menus (tudo pela interface gráfica do netbeans), criei a primeira “cara” do jframe, onde ocorre um cadastro simples no banco de dados (já funcionando), só não sei como fazer para que, ao clicar no link do menu (Arquivo > Novo Registro) ele abra na mesma janela do swing o formulário. Com relação à programação não está muito complicado. help plz
Trabalhando com o JFrame + swing no netbeans
8 Respostas
Voce deve colocar no evento do menu (novo registro) o comando: nomeDoFrame.setVisible(true);
Lembrando que o frame já deve estar inserido no ContentPane();
é isso ?
obrigado pela resposta, vou tentar aqui e postar o resultado.
Eu sugeriria um JInternalFrame. Ele serve direitinho pra o que você quer, pois atende ao chamado do Frame principal, definido por você mesmo!
Ou outra opção seria o JDialog, que também tem essa função…
P.S: Algumas coisas de interface não precisam se deter apenas ao Drag and Drop do NetBeans. Você pode usar o DnD e código feito à mão (mais simples, é claro) juntos!!
vlew :!:
Criei o JPanel que eu estou querendo exibir já. No actionPerformed do meu menu eu coloquei assim:
private void adicionarSalaActionPerformed(java.awt.event.ActionEvent evt) {
new adicionaSala().setVisible(true);
}
so que quando eu clico não acontece nada.
e eu tb não entendi o que você havia dito
eu tenho que criar este contentPane? Se tenho, onde que o crio? é o Painel do netbeans? help rs
Você pode criar o “Container” dentro do seu próprio construtor…
public class Exemplo extends JFrame{
Exemplo() {
Container cp = getContentPane();
cp.add(... Seus componentes);
}
}
E eu acho que é o contrário: O seu container deve estar inserido no frame…
vlew :!:
algo assim?
public class gerap extends javax.swing.JFrame {
/** Creates new form Swing */
public gerap() {
Container cp = getContentPane();
cp.add(new adicionaSala());
initComponents();
}
ainda n funciona, vou postar o código inteiro:
package gerap;
import java.awt.Container;
public class gerap extends javax.swing.JFrame {
/** Creates new form Swing */
public gerap() {
Container cp = getContentPane();
cp.add(new adicionaSala());
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() {
jMenuBar1 = new javax.swing.JMenuBar();
geral = new javax.swing.JMenu();
anotacoes = new javax.swing.JMenu();
minhasAnot = new javax.swing.JMenuItem();
notaAnot = new javax.swing.JMenuItem();
deletaAnot = new javax.swing.JMenuItem();
jSeparator1 = new javax.swing.JSeparator();
novoFunci = new javax.swing.JMenuItem();
removeFunci = new javax.swing.JMenuItem();
alteraFunci = new javax.swing.JMenuItem();
listarFunci = new javax.swing.JMenuItem();
procuraFunci = new javax.swing.JMenuItem();
jSeparator2 = new javax.swing.JSeparator();
sair = new javax.swing.JMenuItem();
salaReuniao = new javax.swing.JMenu();
sala = new javax.swing.JMenu();
adicionarSala = new javax.swing.JMenuItem();
alterarSala = new javax.swing.JMenuItem();
removerSala = new javax.swing.JMenuItem();
listarSala = new javax.swing.JMenuItem();
administradores = new javax.swing.JMenu();
adicionarAdmin = new javax.swing.JMenuItem();
removerAdmin = new javax.swing.JMenuItem();
listarAdmin = new javax.swing.JMenuItem();
reservas = new javax.swing.JMenu();
adicionarReserva = new javax.swing.JMenuItem();
removerReserva = new javax.swing.JMenuItem();
alterarReserva = new javax.swing.JMenuItem();
listarReserva = new javax.swing.JMenuItem();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
geral.setText("Geral");
anotacoes.setText("Anotações");
minhasAnot.setText("Minhas anotações");
anotacoes.add(minhasAnot);
notaAnot.setText("Nova anotação");
anotacoes.add(notaAnot);
deletaAnot.setText("Deletar todas");
anotacoes.add(deletaAnot);
geral.add(anotacoes);
geral.add(jSeparator1);
novoFunci.setText("Adicionar novo funcionário");
geral.add(novoFunci);
removeFunci.setText("Remover Funcionário");
geral.add(removeFunci);
alteraFunci.setText("Alterar Funcionário");
geral.add(alteraFunci);
listarFunci.setText("Listar todos");
geral.add(listarFunci);
procuraFunci.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F, java.awt.event.InputEvent.CTRL_MASK));
procuraFunci.setText("Procurar");
geral.add(procuraFunci);
geral.add(jSeparator2);
sair.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_W, java.awt.event.InputEvent.CTRL_MASK));
sair.setText("Sair");
sair.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
sairActionPerformed(evt);
}
});
geral.add(sair);
jMenuBar1.add(geral);
salaReuniao.setText("Sala de Reunião");
sala.setText("Sala");
adicionarSala.setText("Adicionar");
adicionarSala.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
adicionarSalaActionPerformed(evt);
}
});
sala.add(adicionarSala);
alterarSala.setText("Alterar");
sala.add(alterarSala);
removerSala.setText("Remover");
sala.add(removerSala);
listarSala.setText("Listar");
sala.add(listarSala);
salaReuniao.add(sala);
administradores.setText("Administradores");
adicionarAdmin.setText("Adicionar");
administradores.add(adicionarAdmin);
removerAdmin.setText("Remover");
administradores.add(removerAdmin);
listarAdmin.setText("Listar");
administradores.add(listarAdmin);
salaReuniao.add(administradores);
reservas.setText("Reservas");
adicionarReserva.setText("Adicionar");
reservas.add(adicionarReserva);
removerReserva.setText("Remover");
reservas.add(removerReserva);
alterarReserva.setText("Alterar");
reservas.add(alterarReserva);
listarReserva.setText("Listar Todos");
reservas.add(listarReserva);
salaReuniao.add(reservas);
jMenuBar1.add(salaReuniao);
setJMenuBar(jMenuBar1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 281, Short.MAX_VALUE)
);
pack();
}// </editor-fold>
private void sairActionPerformed(java.awt.event.ActionEvent evt) {
this.dispose();
}
private void adicionarSalaActionPerformed(java.awt.event.ActionEvent evt) {
new adicionaSala().setVisible(true);
}
/**
* @param args the command line arguments
*/
/*public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new gerap().setVisible(true);
}
});
}*/
// Variables declaration - do not modify
private javax.swing.JMenuItem adicionarAdmin;
private javax.swing.JMenuItem adicionarReserva;
private javax.swing.JMenuItem adicionarSala;
private javax.swing.JMenu administradores;
private javax.swing.JMenuItem alteraFunci;
private javax.swing.JMenuItem alterarReserva;
private javax.swing.JMenuItem alterarSala;
private javax.swing.JMenu anotacoes;
private javax.swing.JMenuItem deletaAnot;
private javax.swing.JMenu geral;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JSeparator jSeparator1;
private javax.swing.JSeparator jSeparator2;
private javax.swing.JMenuItem listarAdmin;
private javax.swing.JMenuItem listarFunci;
private javax.swing.JMenuItem listarReserva;
private javax.swing.JMenuItem listarSala;
private javax.swing.JMenuItem minhasAnot;
private javax.swing.JMenuItem notaAnot;
private javax.swing.JMenuItem novoFunci;
private javax.swing.JMenuItem procuraFunci;
private javax.swing.JMenuItem removeFunci;
private javax.swing.JMenuItem removerAdmin;
private javax.swing.JMenuItem removerReserva;
private javax.swing.JMenuItem removerSala;
private javax.swing.JMenu reservas;
private javax.swing.JMenuItem sair;
private javax.swing.JMenu sala;
private javax.swing.JMenu salaReuniao;
// End of variables declaration
}
Cara o contentpane eh oco se fose um container secundario onde você adiciona seus componentes e depois o add ao frame!
Você terá de cria-lo e ir add seus componentes (todos).
Depois vc o add ao frame!
So isso!
:!: