InternalFrame

3 respostas
B

Tenho esse codigo e gostaria de colocar um InternalFrame no ActionListener (do menuItem), mas não estou conseguindo, alguém aí me ajuda? Obs: dei uma resumida no codigo, mas tudo ai tá sendo usado …

public class Menu implements KeyListener {
   
   public JMenuBar createMenuBar() { 
          
      JMenuBar menuBar;
      JMenu menu;
      JMenuItem menuItem;

      menuBar = new JMenuBar();

      menu = new JMenu("Opções");
      menu.setMnemonic(KeyEvent.VK_O);
      menuBar.add(menu);

      menuItem = new JMenuItem("Cadastrar",KeyEvent.VK_C);
      menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1, ActionEvent.ALT_MASK));        
      menuItem.setToolTipText("Cadastrar usuários");
      menuItem.addActionListener(
         
         new ActionListener() {
     
                   

              
              }
     
         }
                       
      );

      menu.add(menuItem);
      return menuBar;
   }
  
     
   public void keyTyped(KeyEvent e){ 
   } 
      
   public void keyPressed(KeyEvent e){ 

    } 

    public void keyReleased(KeyEvent e){ 
    } 
   
    

    public static void main(String[] args) {

       JFrame.setDefaultLookAndFeelDecorated(false);
       JFrame frame = new JFrame("Digita");
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       
       Menu demo = new Menu();
       frame.setJMenuBar(demo.createMenuBar());
       frame.setSize(640,480);
       frame.setLocation(130,100);
       frame.setResizable(false);
       frame.setVisible(true);

  }

}

3 Respostas

N

Aí vai um código simples:

JMenuBar bar = new JMenuBar();

    //Adicionando o menu 'principal'
    JMenu MPrincipal = new JMenu ("Principal");
    MPrincipal.setMnemonic ('P');
    MPrincipal.setToolTipText("Apresenta todos os cadastros");
    DPPrincipal.add(MPrincipal);

    //adicionando o submenu produtos ao menu principal
    JMenu MProdutos = new JMenu ("Produtos");
    MProdutos.setMnemonic ('P');
    MPrincipal.add (MProdutos);

    //adicionando o menuitem "Cadastro" ao submenu Produtos
    JMenuItem MICadastro = new JMenuItem ("Cadastro");
    MICadastro.setMnemonic ('C');
    MICadastro.addActionListener
    (
     new ActionListener()
      {
       public void actionPerformed (ActionEvent event)
        {

         //cria a frame interna
         IFCadProd = new JInternalFrame(
         "PRINCIPAL - Cadastro de Produtos",false,true,false,true);

         //anexa o painel ao painel de conteúdo da frame interna
         Container CCadProd = IFCadProd.getContentPane();
         CadProduto PCadastroProdutos = new CadProduto();
         CCadProd.add(PCadastroProdutos,BorderLayout.CENTER);

         //anexa a frame à área de trabalho e a exibe
         DPPrincipal.add( IFCadProd );
         IFCadProd.setSize(792,526);
         IFCadProd.setVisible( true );

        }//Fim do public void actionPerformed
      }//Fim do new ActionListener()
    );
    MProdutos.add(MICadastro);
E

sempre achei melhor criar uma classe interna. Fica bem mais limpo e fácil de compreender o código.

N

Xi esqueci de falar que tem uma classe interna !!! :lol:

Foi mal !!! :oops:

Criado 1 de dezembro de 2003
Ultima resposta 1 de dez. de 2003
Respostas 3
Participantes 3