Chamar um formulário a partir de um item de menu de outro

26 respostas
A

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.
;

/**

  • Sample application using Frame.

  • @author

  • @version 1.00 07/03/30
    */
    public class MenuCliente extends Frame {

    /**

    • The constructor.
      */
      public MenuCliente() {

      MenuBar menuBar = new MenuBar();
      Menu menuFile = new Menu();

      MenuItem menuCadastro = new MenuItem();
      
      MenuItem menuConsulta = new MenuItem();
      
      MenuItem menuFileExit = new MenuItem();
      
      MenuItem menuCliente  = new MenuItem();
      
      menuFile.setLabel(Cliente);
      
      menuCadastro.setLabel(Cadastro);
      
      menuConsulta.setLabel(Consulta);
      
      menuFileExit.setLabel(Sair);
      

      menuFileExit.addActionListener

      (
      
      new ActionListener() {
      
      public void actionPerformed(ActionEvent e) {
      
      MenuCliente.this.windowClosed();
      
      }
      
      }
      
      );
      
      menuFile.add(menuCadastro);
      
      menuFile.add(menuConsulta);
      
      menuFile.add(menuFileExit);
      
      menuBar.add(menuFile);
      
      setTitle(Cadastro de Clientes);
      
      setMenuBar(menuBar);
      
      setSize(new Dimension(800, 600));
      
      // Add window listener.
      
      this.addWindowListener
      
      (
      
      new WindowAdapter() {
      
      public void windowClosing(WindowEvent e) {
      
      MenuCliente.this.windowClosed();
      
      }
       }
      

      );
      }

    /**

    • Shutdown procedure when run as an application.
      */
      protected void windowClosed() {

      // TODO: Check if it is safe to close the application

      // Exit application.
      
      System.exit(0);
      
      }
      
      }
      

Antecipadamente,

meus agradecimentos.
Edson

26 Respostas

B

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

C
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);                   
                }   
            }
        );
A

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

A

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

M

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.

A

Olá,

Colegas, continuo aguardando mais alguma ajuda de voces. qualquer exemplo ou tentativa de ajuda, será muito bem vinda.

edson

D

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);

   }

}

.....

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();


			}
		}
	}
}

.....

import javax.swing.*;

public class Controle{
	public static void main(String args[]){
		Desktop aplicacao = new Desktop();

		aplicacao.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
}

imagem 1.

[img]http://img409.imageshack.us/img409/6729/imagem1ww0.png[/img]

imagem 2.

[img]http://img388.imageshack.us/img388/9679/imagem2zu8.png[/img]

A

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

A

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

R

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 ?

A

Caro Rogérios,

gostei desta informação sua quanto as aulas sobre o NetBeans como é que a gente consegue acessar estas auilas?

Grato,

Edson

R


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 !
A

Rogerious

Poste o seu codigo aqui para vermos e tentar ajudá-lo.

Edson

D

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:
if ( evento.getSource() == sair ){
         	
         	System.exit(0);
         	
         }

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:
consultas = new JMenu("Consultas");
consultasClientes = new JMenuItem("Clientes");   
         
consultas.add(consultasClientes);

[img]http://img20.imageshack.us/img20/8362/imagem2ec0.png[/img]

[img]http://img237.imageshack.us/img237/7740/imagem4np7.png[/img]

D

“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 !</blockquote>

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  uma olhada.
R

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
    

}

R

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 ???

D

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.

R

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]

A

Prezado Dougufpa,

É isso mesmo que eu estou precisando, só que fiz tudo, inclui o código de varias maneiras dentro da classe Destktop mas mesmo assim ao executar o programa ainda não está dando certo. A compilação ficou legal, não deu problema. Acho que coloquei o código em algum lugar errado. Se voce não se importar, me mande novamente o código da classe desktop. já quebrei bem a cabeça e só falta agorta conferir isso e acredito que agora sim, vai engrenar. Por gentileza então me envie o código da classe desktop com estas moidificações que voce fez acima.

Mais uma vez, meu muito obrigado!!

Edson

Na oportunidade, estou vendo tambem a postagem do Rogerious e vendo o que dá para se fazer…

R

Caro Amamorim, agradeço pela atenção. Comecei com JAVA só há 2 dias. Como disse no FORUM eu estou usando NETBEANS 5.5, pois fazer tudo na “mão” com bloco de notas “é osso !!!” Já que exitem as ferramentas para criar a parte visual das aplicações JAVA ( posso usar esse termo ? ), então optei por essas ferramentas e vou pondo os codigos (JAVA) onde eu necessitar, ok ?!
Acho que minha duvida é a mesma sua ( e por isso , aproveitei a sua postagem e me “intrometi” ), eu montei o FORM principal - Jframe - e coloquei um menu com subitens. E só queria saber ( nesse 1º momento )como chamar um form de cadastro ou pesquisa. Como em outras linguagens ( VFP, VB, VB.NET, DELPHI ) nós colocamos o nome do form ( objeto ) e algum metodo tipo ( show(), showmodal(), etc…) vi que aqui eu instanciava a classe JÁ criada ( no meu caso FRPROFESSORES que é um JinternalFrame) com um nome associado.
E aí postei somente o codigo :

private void subalunosActionPerformed(java.awt.event.ActionEvent evt) {

System.out.println("java, sou iniciante ");

Frprofessores formprof = new Frprofessores();

formprof.setVisible(true);

}

Que mostra que no menuitem ( chamado subalunos ) no metodo ActionPerformed eu instancio e ponho a propriedade SETVISIBLE = TRUE. E isso foi facil de entender.
Mas nao entendi porque NÃO funciona. rs…rs…rs…

D
veja como não tem nem com que bater cabeça, é tão simples que dá até vergonha de postar a classe hehe :oops: Mas como ja estou te ajudando a um bom tempo não vou te deixar na mão.
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class Desktop extends JFrame{

   private   JDesktopPane internalFrame;
   private JMenuBar  bar;
   private JMenu     menu, consultas;
   private JMenuItem cadastrarUsuario,consultasClientes, sair;


   public Desktop(){

      super("Desktop ou Nome do Programa!");

         bar = new JMenuBar();
         menu = new JMenu("Menu");
         cadastrarUsuario = new JMenuItem("Cadastrar Usuario");   
         cadastrarUsuario.addActionListener( new TrataEventoDesktop() );
         
         sair = new JMenuItem("Sair");
         sair.addActionListener( new TrataEventoDesktop() );
            
         menu.add(cadastrarUsuario);
         menu.add(sair);
         
         consultas = new JMenu("Consultas");
         consultasClientes = new JMenuItem("Clientes");   
         
         consultas.add(consultasClientes);
         
         bar.add(menu);
         bar.add(consultas);
         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();


         }
         if ( evento.getSource() == sair ){
         	
         	System.exit(0);
         	
         }
      }
   }
}
A

Prezado Dougufpa,

Depois de tanta ajuda sua, é impossivel ficar sem aprender!! Cara, realmente estava muityo fácil… Antes mesmo de voce ter postado este último código, eu já havia descoberto a besteira que estava fazendo e a coisa não estava funcionando: é que eu estava esquecendo de adicionar o menu à barra de menu e também o próprio ítem de menu . fiz isso e deu certo. Como eu havia pedido a voce que poostasse o código, conferi e vi que realmente era só isso mesmo que estava faltando. Já aprendi muito e com certeza ainda vou ter outras dúvidas. Vou postar por aqui e futuramente vou mostrar que realmente estou aprendendo… Minhas proximas investidas vão ser a manipulaçõa de registros uma vez que já sei também criar o banco de dados e fazer a conexão com o mesmo. espero então começar a aprender alguma coisa como imprimir um relatório simples de clientes cadastrados.

Obrigado mais uma vez…

Edson

D

precisando estarei por aqui…

A

Prezado Dougufpa,

Lhe agradeço muito mesmo por toda atenção até então. Já estou precisando novamente de ajudas; agora, estou querendo ver sobre relatórios.

Gostaria de saber ou mesmo até de ver uma rotininha bem ao estilo “arroz com feijão” de como criar um relatório que liste do meu banco de dados “Cadastro”, os campos: codigo e nome do cliente, da tabela “cliente”. Eu estou usando o JCreator e já instalei o eclipse, só ainda não o usei.

Espero alguma dica sobre esta minha necessidade, dentro do seu póssível, é claro e de outros colegas leitores desta mensagem também.

Por ora, meu muito obrigado,

Edson Amorim

A

Oi gente,

Estou aqui de novo!! agora querendo mais dicas sobre criar relatório. Continuo contando com voces!!

Obrigado,

Edson

Criado 30 de março de 2007
Ultima resposta 12 de abr. de 2007
Respostas 26
Participantes 6