Prezado Colega,
Eu criei um frame que tem um Menu “Cadastro” e neste menu, um item de menu chamado “cliente”.
O que é que eu tenho que fazer neste formulario par que ao clicar no item de menu “cliente”, ele chame o outro formulario de nome “NovoCliente” ? Veja o meu código do formulario onde está o menu.
import java.awt.;
import java.awt.event.;
/**
Antecipadamente,
meus agradecimentos.
Edson
Olá
É bem simples…
coloque no seu menuitem de clientes um actionListener, assim como vc colocou nos outros, e dentro deste evento vove pode instanciar e mostrar o seu outro formulario
qualquer duvida, dah um grito ai
JMenuItem cliente= new JMenuItem("Cadastro Cliente");
cliente.addActionListener(
new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
//Nome da classe do Novo Formulario
NovoCliente novoCliente = new NovoCliente();
//Abre novo formulário
novoCliente.setVisible(true);
}
}
);
Cristhielen e BatouSay,
Me desculpem mas tentei de tudo e não consegui fazer!! Coloquei o codigo de várias maneiras mas não deu certo. Realmente eu ainda não sei fazer isso!! Queria tanto que este meu formulário me deixasse chamar o formulario “Cliente” quando eu clicasse no menu Cliente no item de menu Cadastro.
com certeza vou ficar muito feliz e nunca mais na minha vida vou esquecer isso.
Obrigado mais uma vez pela ajuda e incentivo,
Edson
Cristhielen e BatouSay,
Me desculpem mas tentei de tudo e não consegui fazer!! Coloquei o codigo de várias maneiras mas não deu certo. Realmente eu ainda não sei fazer isso!! Queria tanto que este meu formulário me deixasse chamar o formulario “Cliente” quando eu clicasse no menu Cliente no item de menu Cadastro.
com certeza vou ficar muito feliz e nunca mais na minha vida vou esquecer isso.
Obrigado mais uma vez pela ajuda e incentivo,
Edson
use uma instancia JDesktopPane na sua classe principal e JInternalFrame no lugar de JFrame para o formulario. Qualquer coisa procura no google…tem muitos exemplos disso.
Olá,
Colegas, continuo aguardando mais alguma ajuda de voces. qualquer exemplo ou tentativa de ajuda, será muito bem vinda.
edson
cara acho que é isso que tu ta procurando, fiz um código meio tosco, mas te aconselho da uma olhada no JInternal Frame.
import java.awt.*;
import javax.swing.*;
public class CadastrarCliente extends JFrame{
private Container container;
private JLabel labelNome, labelEndereco, labelBairro;
private JTextField fieldNome, fieldEndereco, fieldBairro;
private JButton buttonGuardar, buttonCancelar;
public CadastrarCliente(){
super("Cadastrar Cliente");
container = getContentPane();
container.setLayout(null);
labelNome = new JLabel("Nome");
labelNome.setBounds(10, 10, 50, 25);
fieldNome = new JTextField();
fieldNome.setBounds(70, 10, 280, 25);
container.add(labelNome);
container.add(fieldNome);
labelEndereco = new JLabel("Endereco");
labelEndereco.setBounds(10, 40, 200, 25);
fieldEndereco = new JTextField();
fieldEndereco.setBounds(70, 40, 280, 25);
container.add(labelEndereco);
container.add(fieldEndereco);
labelBairro = new JLabel("Bairro");
labelBairro.setBounds(10, 70, 290, 25);
fieldBairro = new JTextField();
fieldBairro.setBounds(70, 70, 280, 25);
container.add(labelBairro);
container.add(fieldBairro);
buttonGuardar = new JButton("Guardar");
buttonGuardar.setBounds(90, 100, 80, 30);
buttonCancelar = new JButton("Cancelar");
buttonCancelar.setBounds(180, 100, 100, 30);
container.add(buttonGuardar);
container.add(buttonCancelar);
setSize(400,300);
setVisible(true);
}
}[/code]
.....
[code]import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Desktop extends JFrame{
private JDesktopPane internalFrame;
private JMenuBar bar;
private JMenu menu;
private JMenuItem cadastrarUsuario;
public Desktop(){
super("Desktop ou Nome do Programa!");
bar = new JMenuBar();
menu = new JMenu("Menu");
cadastrarUsuario = new JMenuItem("Cadastrar Usuario");
cadastrarUsuario.addActionListener( new TrataEventoDesktop() );
menu.add(cadastrarUsuario);
bar.add(menu);
setJMenuBar(bar);
internalFrame = new JDesktopPane();
getContentPane().add(internalFrame);
setSize(500,600);
setVisible(true);
}
private class TrataEventoDesktop implements ActionListener{
public void actionPerformed( ActionEvent evento ){
if ( evento.getSource() == cadastrarUsuario ){
new CadastrarCliente();
}
}
}
}
…
[code]import javax.swing.*;
public class Controle{
public static void main(String args[]){
Desktop aplicacao = new Desktop();
aplicacao.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}[/code]
imagem 1.

imagem 2.

Prezado Dougufpa,
Isso mesmo!! é simples pra voces mas, cara, eu não consegui fazer isso. Agora, tiudo já mais clareado. Vou estudar bastante esta parte de utilizar o menu. Agora vou batalhar para fazer o trabalho com botões de comando. ou seja, quando eu clicar no botão guardar, o programa irá gravar os dados no banco de dados.
Muito obrigadoi mesmo mais uma vez,
Edson
Prezado Dougufpa,
Gostei muito do seu exemplo. Estou implementando e adaptando para a continuidade dos meus estudos.
Incluí um item de menu “Sair” mas só que não está funcionando. Gostaria que me informassem onde é que eu errei pois a compilação deu legal e só não está funcionando.
Gostaria também de incluir um ítem “Consultar” para chamar o meu formulário “Consuulta”. Mais uma vez ficarei imensamente agradecido com mais esta ajuda.
Edson
Sou iniciante em JAVA.
Instalei o netbeans 5.5 e kIT DE DESENVOLVIMENTO DO JAVA
Assiti aos videos lá no YOUTUBE mostrando montar um projeto usando o NETBEANS Gostei,mas os nomes das aulas nao tem uma sequencia e ficou um pouco confuso.Nao consegui achar a parte onde o PROFESSOR mostra como chamar o Jframe pelo MENU.
E vendo a resposta do DOUGUFPA, ainda nao entendi como fazer.
Usando o NETBEANS , em qual evento eu colocaria a chamada a um “FORM” que eu já tenha montado.
Eu preciso criar aquele codigo TODO que o colega DOUGUFPA POSTOU ? Não seria apenas algumas linhas em algum evento do ITEM MENU ?
Caro Rogérios,
gostei desta informação sua quanto as aulas sobre o NetBeans como é que a gente consegue acessar estas auilas?
Grato,
Edson
Bem, criei o form principal usando JFRAME + JMENU e nos itens desse menu eu “chamei” um JInternalFrame(Frprofessores) assim :
private void subalunosActionPerformed(java.awt.event.ActionEvent evt) {
System.out.println("java, sou iniciante ");
Frprofessores formprof = new Frprofessores();
formprof.setVisible(true);
}
Quando executo F6, eu vou no menu e quando clico a mensagem aparece mas o FORM não !
Rogerious
Poste o seu codigo aqui para vermos e tentar ajudá-lo.
Edson
Tenho quase certeza é que quando você criou o menu “Sair” não tenha chamado o evento pra saída.
obs: Precisa declarar as variáveis é claro.
Coloca isso no corpo da classe Desktop.
exemplo:sair = new JMenuItem("Sair");
sair.addActionListener( new TrataEventoDesktop() );
Na classe privada para tratamento de evento da classe Desktop você adiciona o evento em si.
código: [code]if ( evento.getSource() == sair ){
System.exit(0);
}[/code]
Agora pra fazer o item consulta terás que Adicionar outro campo no menu pra consulta e chamar um outro frame. O Q da questão é: Como vai fazer essa busca ? Nome da pessoa ou numero do registro da pessoa? Melhor ainda faz a busca pelos dois, por data de nascimento, pelo que der
.
olha o codigo ai na classe Desktop:
[code]consultas = new JMenu(“Consultas”);
consultasClientes = new JMenuItem(“Clientes”);
consultas.add(consultasClientes);[/code]


[quote=“ROGERIORIOS”]http://www.youtube.com/watch?v=41DwYb4jh10&mode=related&search=
Bem, criei o form principal usando JFRAME + JMENU e nos itens desse menu eu “chamei” um JInternalFrame(Frprofessores) assim :
private void subalunosActionPerformed(java.awt.event.ActionEvent evt) {
System.out.println("java, sou iniciante ");
Frprofessores formprof = new Frprofessores();
formprof.setVisible(true);
}
Quando executo F6, eu vou no menu e quando clico a mensagem aparece mas o FORM não ![/quote]
deve ser pelo simples fato que:
1 - a mensagem não precisa de evento pra ser chamado.
2 - você tem que ver se foi salvo as classes no mesmo diretorio.
3 - ou pode ser alguma linha de comando que esteja faltando ou com a logica errada.
Coloca teu código ai pra mim dá uma olhada.
Bom Dia.
Codigo Gerado pelo NETBEANS + algumas linhas feitas por mim ( 3 linhas )
Veja que depois que eu não conseguia com o MENU eu inclui um JdesktopPane e dentro um Jbutton e coloquei o mesmo codigo que tem lá no Menu ( e que eu postei aqui no FORUM )
*
- Frprincipal.java
-
- Created on 6 de Abril de 2007, 11:51
*/
/**
*
-
@author Administrador
*/
public class Frprincipal extends javax.swing.JFrame {
/** Creates new form Frprincipal */
public Frprincipal() {
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.
*/
// <editor-fold defaultstate=“collapsed” desc=" Código Gerado ">
private void initComponents() {
jDesktopPane1 = new javax.swing.JDesktopPane();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jMenuBar1 = new javax.swing.JMenuBar();
mncadastro = new javax.swing.JMenu();
subalunos = new javax.swing.JMenuItem();
subturmas = new javax.swing.JMenuItem();
subdisciplinas = new javax.swing.JMenuItem();
mnrotinas = new javax.swing.JMenu();
jMenuItem1 = new javax.swing.JMenuItem();
jMenuItem2 = new javax.swing.JMenuItem();
jMenuItem3 = new javax.swing.JMenuItem();
mnrelatorios = new javax.swing.JMenu();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle(“Sistema Escolar Integrado”);
setBackground(new java.awt.Color(255, 255, 255));
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowActivated(java.awt.event.WindowEvent evt) {
formWindowActivated(evt);
}
});
jDesktopPane1.setBackground(new java.awt.Color(204, 204, 204));
jButton1.setText(“Professores”);
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jButton1.setBounds(0, 3, 90, 30);
jDesktopPane1.add(jButton1, javax.swing.JLayeredPane.DEFAULT_LAYER);
jButton2.setText(“Sair”);
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jButton2.setBounds(90, 3, 90, 30);
jDesktopPane1.add(jButton2, javax.swing.JLayeredPane.DEFAULT_LAYER);
mncadastro.setText(“Cadastro”);
mncadastro.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
mncadastroActionPerformed(evt);
}
});
subalunos.setText(“Alunos”);
subalunos.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
subalunosActionPerformed(evt);
}
});
mncadastro.add(subalunos);
subturmas.setText(“Turmas”);
mncadastro.add(subturmas);
subdisciplinas.setText(“Disciplinas”);
mncadastro.add(subdisciplinas);
jMenuBar1.add(mncadastro);
mnrotinas.setText(“Rotinas”);
jMenuItem1.setText(“Item”);
mnrotinas.add(jMenuItem1);
jMenuItem2.setText(“Item”);
mnrotinas.add(jMenuItem2);
jMenuItem3.setText(“Item”);
mnrotinas.add(jMenuItem3);
jMenuBar1.add(mnrotinas);
mnrelatorios.setText(“Relat\u00f3rios”);
jMenuBar1.add(mnrelatorios);
setJMenuBar(jMenuBar1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jDesktopPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 792, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jDesktopPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(510, Short.MAX_VALUE))
);
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width-800)/2, (screenSize.height-600)/2, 800, 600);
}// </editor-fold>
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
System.out.println("java teste ");
Frprofessores formprof = new Frprofessores();
formprof.setVisible(true);
}
private void subalunosActionPerformed(java.awt.event.ActionEvent evt) {
System.out.println("java, estou iniciando ");
Frprofessores formprof = new Frprofessores();
formprof.setVisible(true);
}
private void formWindowActivated(java.awt.event.WindowEvent evt) {
// TODO adicione seu código de manipulação aqui:
}
private void mncadastroActionPerformed(java.awt.event.ActionEvent evt) {
}
/**
-
@param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Frprincipal().setVisible(true);
}
});
}
// Declaração de variáveis - não modifique
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JDesktopPane jDesktopPane1;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenuItem jMenuItem1;
private javax.swing.JMenuItem jMenuItem2;
private javax.swing.JMenuItem jMenuItem3;
private javax.swing.JMenu mncadastro;
private javax.swing.JMenu mnrelatorios;
private javax.swing.JMenu mnrotinas;
private javax.swing.JMenuItem subalunos;
private javax.swing.JMenuItem subdisciplinas;
private javax.swing.JMenuItem subturmas;
// Fim da declaração de variáveis
}
Olha, não postei a parte gerada pelo NETBEANS que “cria” os objetos :
private void initComponents() {
jDesktopPane1 = new javax.swing.JDesktopPane();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jMenuBar1 = new javax.swing.JMenuBar();
mncadastro = new javax.swing.JMenu();
subalunos = new javax.swing.JMenuItem();
subturmas = new javax.swing.JMenuItem();
subdisciplinas = new javax.swing.JMenuItem(); …
Precisava ???
pow veio fica dificil saber o erro do codigo, sendo que você só mandou uma classe.
Cade a classe Frprofessores? provavelmente eles devem estar em uma package. Manda ai senão nada adianta.
Bem a classe Frprofessores é simplesmente um 1 JFrame com 1 Jbutton, como eu te disse , sou iniciante EM JAVA ( e essa classe que é “chamada”,pra mim,o código dela não influenciaria) e estava só vendo como “chamar” um “form” através de um “menu” ou de um “botão”.
Aí vai o código TODO gerado pelo NETBEANS 5.5.
/*
- Frprofessores.java
-
- Created on 7 de Abril de 2007, 16:09
*/
/**
*
-
@author Administrador
*/
public class Frprofessores extends javax.swing.JInternalFrame {
/** Creates new form Frprofessores */
public Frprofessores() {
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.
*/
// <editor-fold defaultstate=“collapsed” desc=" Código Gerado ">
private void initComponents() {
jButton1 = new javax.swing.JButton();
setMaximizable(true);
setResizable(true);
setTitle(“Cadastro de Professores”);
setVisible(true);
jButton1.setText(“Sair”);
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(185, Short.MAX_VALUE)
.addComponent(jButton1)
.addGap(158, 158, 158))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(202, Short.MAX_VALUE)
.addComponent(jButton1)
.addGap(53, 53, 53))
);
pack();
}// </editor-fold>
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
// Declaração de variáveis - não modifique
private javax.swing.JButton jButton1;
// Fim da declaração de variáveis
}
[/b]