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.