Este código Cria uma janela com dois menus Arquivo e Cadastro, o problema é que quando seleciono o menu Cadastro e depois o sub menu Mini-Curso ele mostra o formulário, do mini curso, mas quando seleciono o submenu Palestra que está dentro de Cadastro ele não mostra o formulário da palestra, o que está faltando para ele poder mudar o formulário??? não estou entendendo!!!
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JMenuBar;
import javax.swing.KeyStroke;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
public class IndexMenu extends JFrame implements ActionListener, ItemListener {
JTextArea output;
JScrollPane scrollPane;
String newline = "
";
private Layout_Mini lay_mini;
private Layout_Pale lay_pale;
private JPanel labelPanel, fieldsPanel;
Container c = getContentPane();
public IndexMenu() {
JMenuBar menuBar;
JMenu menu, submenu;
JMenuItem menuItem;
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
menuBar = new JMenuBar();
setJMenuBar(menuBar);
menu = new JMenu("Arquivo");
menu.setMnemonic(KeyEvent.VK_A);
menuBar.add(menu);
menuItem = new JMenuItem("Sobre",KeyEvent.VK_T);
menu.add(menuItem);
menuItem.addActionListener(new ActionListener() {
public void actionPerformed( ActionEvent e )
{
JOptionPane.showMessageDialog(null,"Trabalho sobre Mini Curso!!");
}
}
);
//menuItem = new JMenuItem("Sair",new ImageIcon("middle.gif"));
menuItem = new JMenuItem("Sair",KeyEvent.VK_S);
menu.add(menuItem);
menuItem.addActionListener(new ActionListener() {
public void actionPerformed( ActionEvent e )
{
System.exit(0);
}
}
);
menu = new JMenu("Cadastro");
menu.setMnemonic(KeyEvent.VK_C);
menuBar.add(menu);
//a submenu Cadastro
menuItem = new JMenuItem("Mini-Curso",KeyEvent.VK_M);
// menuItem.addActionListener(this);
menu.add(menuItem);
menuItem.addActionListener(new ActionListener() {
public void actionPerformed( ActionEvent e )
{
//JOptionPane.showMessageDialog(null,"Mini-Curso");
lay_mini = new Layout_Mini();
c.setLayout(new BorderLayout());
c.add(lay_mini,BorderLayout.CENTER);
show();
}
}
);
menuItem = new JMenuItem("Palestra",KeyEvent.VK_P);
// menuItem.addActionListener(this);
menu.add(menuItem);
menuItem.addActionListener(new ActionListener() {
public void actionPerformed( ActionEvent e )
{
//JOptionPane.showMessageDialog(null,"Palestra");
lay_pale = new Layout_Pale();
c.setLayout(new BorderLayout());
c.add(lay_pale,BorderLayout.CENTER);
show();
}
}
);
menu = new JMenu("Inscrição");
menu.setMnemonic(KeyEvent.VK_I);
menuBar.add(menu);
}
public void actionPerformed(ActionEvent e) {
JMenuItem source = (JMenuItem)(e.getSource());
String s = "Action event detected."
+ newline
+ " Event source: " + source.getText()
+ " (an instance of " + getClassName(source) + ")";
System.out.println(s + newline);
}
public void itemStateChanged(ItemEvent e) {
}
protected String getClassName(Object o) {
String classString = o.getClass().getName();
int dotIndex = classString.lastIndexOf(".");
return classString.substring(dotIndex+1);
}
public static void main(String[] args) {
IndexMenu window = new IndexMenu();
window.setTitle("Trabalho sobre Cadastro de Cursos");
window.setSize(450, 260);
window.setVisible(true);
}
}
//menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1, ActionEvent.ALT_MASK));
Se quiserem coloco o código do Layout_Mini e Layout_Pale para vocês poderem compilar e testarem!!! pois criei dois .class separados com os campos do formulário e chamei aqui dentro!!!