Abrir os Sub-Menus Dentro De Outro Arquivo

1 resposta
maicovigar

Pessoal, sou novo no fórum e estou aprendendo java a pouco tempo, porém quando estava fazendo uma programa para cadastrar clientes, produtos e fornecedores surgiu uma dúvida.
Eu tenho dois código em arquivos separados. O Primeiro se chama Menu e é aonde tem a tela principal com o Cadastro. O Segundo se chama TelaCadastro e é a tela que o usuário tem que fornecer os dados do cliente. Porém quando eu clico em Cadastro --> Cliente, a TelaCadastro não abre. Alguém poderia me ajudar?

Menu.java

import java.awt.event.*;
import javax.swing.*;

public class Menu extends JFrame implements ActionListener {
                                
   private JMenuBar     jmPrincipal     = new JMenuBar();
   private JMenu        jmCadastro      = new JMenu("Cadastros");
   private JMenuItem    jmCadCliente    = new JMenuItem("Cliente");
   private JMenuItem    jmCadFornecedor = new JMenuItem("Fornecedor");
   private JMenuItem    jmCadProdutos   = new JMenuItem("Produtos");

   public  JDesktopPane jdPane          = new JDesktopPane();

   Tela telaCadCliente, telaCadFornecedor, telaCadProdutos;

   public static void main(String args[]) {
      Menu menu = new Menu();
   }

   public Menu() {
      getContentPane().add(jdPane);
      jmPrincipal.add(jmCadastro);
      jmCadastro.add(jmCadCliente);
      jmCadastro.add(jmCadFornecedor);
      jmCadastro.add(jmCadProdutos);
      setJMenuBar(jmPrincipal);

      jmCadCliente.addActionListener(this);
      jmCadFornecedor.addActionListener(this);
      jmCadProdutos.addActionListener(this);
      setSize(800,600);
      setVisible(true);
   }

   public void actionPerformed(ActionEvent evt) {
      if (evt.getSource() == jmCadCliente) {
         if (telaCadCliente == null)
            telaCadCliente = new Tela("Cadastro de Cliente", this);
         jdPane.moveToFront(telaCadCliente);
      }
      if (evt.getSource() == jmCadFornecedor) {
         if (telaCadFornecedor == null)
            telaCadFornecedor = new Tela("Cadastro de Fornecedor", this);
         jdPane.moveToFront(telaCadFornecedor);
      }
      if (evt.getSource() == jmCadProdutos) {
         if (telaCadProdutos == null)                  
            telaCadProdutos = new Tela("Cadastro de Produtos", this);
         jdPane.moveToFront(telaCadProdutos);
      }

  }
}
class Tela extends JInternalFrame {

   private Menu telaPrincipal;

   public Tela(String titulo, Menu telaPrincipal) {
      super(titulo,true,true,true);
      setSize(300,200);
      setVisible(true);
      this.telaPrincipal = telaPrincipal;
      telaPrincipal.jdPane.add(this);
   }
}

TelaCadastro.java

import java.awt.Container;   
import java.awt.GridLayout;   
import javax.swing.JFrame;   
import javax.swing.JLabel;   
import javax.swing.JPanel;   
import javax.swing.JTextField;   
  
public class TelaCadastro extends JFrame {   
       
    private JTextField campoNome;   
    private JTextField campoDDD;   
    private JTextField campoTelefone;   
    private JTextField campoEmail;   
    private JTextField campoEndereco;   
    private JTextField campoNumero;   
    private JTextField campoComplemento;   
    private JTextField campoBairro;   
           
    private JLabel nome;   
    private JLabel ddd;   
    private JLabel telefone;   
    private JLabel email;   
    private JLabel endereco;   
    private JLabel numero;   
    private JLabel complemento;   
    private JLabel bairro;   
           
    public TelaCadastro(String titulo) {   
        super(titulo);   
           
        campoNome = new JTextField();   
        campoDDD = new JTextField();   
        campoTelefone = new JTextField();   
        campoEmail = new JTextField();   
        campoEndereco = new JTextField();   
        campoNumero = new JTextField();   
        campoComplemento = new JTextField();   
        campoBairro = new JTextField();   
      ;   
  
        nome = new JLabel("Nome:");   
        ddd = new JLabel("DDD:");   
        telefone = new JLabel("Telefone:");   
        email = new JLabel("E-mail:");   
        endereco = new JLabel("Endereço:");   
        numero = new JLabel("Nº:");   
        complemento = new JLabel("Complemento:");
        bairro = new JLabel("Bairro:");   
           
        
    }   
       
    private void mostrarTela() {   
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   
        setLocation(150, 300);   
        setLayout(new GridLayout(1, 2));   
        Container cp = getContentPane();   
        JPanel panel = new JPanel();   
        panel.setLayout(new GridLayout(2, 1));   
        panel.add(nome);   
        panel.add(campoNome);   
        panel.add(ddd);   
        panel.add(campoDDD);   
        panel.add(telefone);   
        panel.add(campoTelefone);   
        panel.add(email);   
        panel.add(campoEmail);   
	panel.add(endereco);   
        panel.add(campoEndereco);   
        panel.add(numero);   
        panel.add(campoNumero);   
        panel.add(complemento);   
        panel.add(campoComplemento);   
        panel.add(bairro);   
        panel.add(campoBairro);   
        cp.add(panel);   
          
        pack();   
        setVisible(true);   
           
    }   
       
    public static void main(String[] args) {   
        TelaCadastro executar = new TelaCadastro("Cadastro de Cliente");   
        executar.mostrarTela();   
    }   
}

Sei que está faltando bastante coisa, como botões, arrumar os campos da TelaCadastro certinhos, mas como eu disse estou estudando java faz pouco tempo.
Aguardo sugestões para solucionar minha dúvida.
Muito Obrigado.

1 Resposta

maicovigar

Nadaaa???
Por Favor, alguém me ajuda ae??!?

Criado 26 de agosto de 2008
Ultima resposta 27 de ago. de 2008
Respostas 1
Participantes 1