Estou desenvolvendo uma agenda de contatos pessoais apenas com intuito de aprender a programar em Java, mas estou com um problema agora. Como faço para uma classe chamar outra classe? A agenda tem um Menu na parte superior com as opções de inserir, pesquisar, excluir, alterar, etc… Quero que, ao clica em um desses Menus, abra uma nova janela onde estará os campos de inclusão de um novo contato (nome, endereço, telefone, etc…). Como faço para resolver essa questão? É a primeira vez que publico uma dúvida aqui, então peço desculpas se não consegui explicar bem o que eu quero. Segue abaixo o código-fonte da agenda. O código menor é o executável (vamos dizer assim) do código maior.
import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Dimension;
import java.awt.Graphics;
import java.util.Random;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JMenuBar;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
public class Contatos_Config extends JFrame
{
//private JTextField tfield_nome;
//private JLabel label_nome;
private JLabel displayJLabel;
private final Color colorValues[] = { Color.BLACK, Color.BLUE, Color.RED, Color.GREEN };
private String BuscarNome, BuscarTelefone, InserirContato, AlterarContato, ExcluirContato;
public Contatos_Config()
{
super ("MEUS CONTATOS");
JMenu arquivo = new JMenu ("Arquivo");
arquivo.setMnemonic ('A');
JMenuItem sobre = new JMenuItem ("Sobre");
sobre.setMnemonic ('e');
arquivo.add (sobre);
sobre.addActionListener
(
new ActionListener()
{
public void actionPerformed (ActionEvent event)
{
JOptionPane.showMessageDialog (Contatos_Config.this, "Criado por Bruno S. R.","Sobre...", JOptionPane.PLAIN_MESSAGE);
}
}
);
/*****/
JMenuItem ajuda = new JMenuItem ("Ajuda");
ajuda.setMnemonic ('d');
arquivo.add (ajuda);
ajuda.addActionListener
(
new ActionListener()
{
public void actionPerformed (ActionEvent event)
{
JOptionPane.showMessageDialog (Contatos_Config.this, "Infelizmente não posso te ajudar agora!");
}
}
);
/*****/
JMenuItem sair = new JMenuItem ("Sair");
sair.setMnemonic ('S');
arquivo.add (sair);
sair.addActionListener
(
new ActionListener()
{
public void actionPerformed (ActionEvent event)
{
System.exit (0);
}
}
);
/**********************************************************************/
JMenu pesquisar = new JMenu ("Pesquisar");
pesquisar.setMnemonic ('P');
JMenuItem nome = new JMenuItem ("Nome");
nome.setMnemonic ('N');
pesquisar.add (nome);
nome.addActionListener
(
new ActionListener()
{
public void actionPerformed (ActionEvent event)
{
BuscarNome = JOptionPane.showInputDialog ("Digite o Nome");
}
}
);
/*****/
JMenuItem telefone = new JMenuItem ("Telefone");
telefone.setMnemonic ('T');
pesquisar.add (telefone);
telefone.addActionListener
(
new ActionListener()
{
public void actionPerformed (ActionEvent event)
{
BuscarTelefone = JOptionPane.showInputDialog ("Digite o Telefone");
}
}
);
/**********************************************************************/
JMenu contatos = new JMenu ("Contatos");
contatos.setMnemonic ('C');
JMenuItem inserir = new JMenuItem ("Inserir");
inserir.setMnemonic ('I');
contatos.add (inserir);
inserir.addActionListener
(
new ActionListener()
{
public void actionPerformed (ActionEvent event)
{
InserirContato = JOptionPane.showInputDialog ("Colocar campos de inserção...");
}
}
);
/*****/
JMenuItem alterar = new JMenuItem ("Alterar");
alterar.setMnemonic ('l');
contatos.add (alterar);
alterar.addActionListener
(
new ActionListener()
{
public void actionPerformed (ActionEvent event)
{
AlterarContato = JOptionPane.showInputDialog ("Colocar campos de alteração...");
}
}
);
/*****/
JMenuItem excluir = new JMenuItem ("Excluir");
excluir.setMnemonic ('x');
contatos.add (excluir);
excluir.addActionListener
(
new ActionListener()
{
public void actionPerformed (ActionEvent event)
{
ExcluirContato = JOptionPane.showInputDialog ("Teste");
}
}
);
/**********************************************************************/
// Adiciona os menus à barra
JMenuBar barra = new JMenuBar();
setJMenuBar (barra);
barra.add (arquivo);
barra.add (pesquisar);
barra.add (contatos);
/**********************************************************************/
// Insere plano de fundo CINZA e MEUS CONTATOS
// private JLabel displayJLabel
// private final Color
displayJLabel = new JLabel ("MEUS CONTATOS", SwingConstants.CENTER);
displayJLabel.setForeground (colorValues [0]);
displayJLabel.setFont (new Font ("Monospaced", Font.ITALIC, 55));
getContentPane().setBackground (Color.LIGHT_GRAY);
add ( displayJLabel, BorderLayout.CENTER);
} // fim do construtor Contatos_Config
} // fim da classe Contatos_Config
#########
import javax.swing.JFrame;
public class Contatos_Exe
{
public static void main( String args[] )
{
Contatos_Config JMenu = new Contatos_Config();
JMenu.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // encerra o Frame
JMenu.setSize(500, 300); // configura o tamanho do Frame
JMenu.setVisible(true); // exibe o Frame
} // fim do main
} // fim da classe Contatos_Exe