Instanciando uma classe

5 respostas
P

Olás.
Mais dúvidas…
Criei uma classe Main , e tenho tb uma classe menuprincipal.

Preciso através do main, instanciar a classe menuprincipal

quando coloco o código:

public static void main(String[] args) {

JFrame fmenuprincipal = new JFrame();

fmenuprincipal.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

menuprincipal menuprincipal = new menuprincipal();

fmenuprincipal.add(menuprincipal);

fmenuprincipal.setSize(340,250);

fmenuprincipal.setVisible(true);

}

dá o seguinte erro quando eu rodo:

java.lang.Error: Do not use javax.swing.JFrame.add() use javax.swing.JFrame.getContentPane().add() instead

at javax.swing.JFrame.createRootPaneException(JFrame.java:465)

    at javax.swing.JFrame.addImpl(JFrame.java:491)

    at java.awt.Container.add(Container.java:307)

    at sgrc2.Main.main(Main.java:32)

Se eu tiro o *.add() e coloco o getContentPane, não roda…

Que eu faço?
:roll:

5 Respostas

J

Oi
Ele não adiciona, pois está faltando a instancia do menu principal:

Faça dessa forma:

MenuPricipal menu_principal = new MenuPricipal();
fmenuprincipal.add(menu_principal);

Bye!!

P

eu coloquei a mesma coisa…

menuprincipal menuprincipal = new menuprincipal(); fmenuprincipal.add(menuprincipal);

o erro está no .add…

:wink:

silva.fernandes

Posta o código da suas 2 classes para gente ver oq ta acontecendo…

OK

P
Código da classe menuprincipal
public class menuprincipal extends javax.swing.JFrame {
    
    /** Creates new form menuprincipal */
    public menuprincipal() {
        initComponents();
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">                          
    private void initComponents() {
        mnu_bar = new javax.swing.JMenuBar();
        mnu_manter_cli = new javax.swing.JMenu();
        mnit_incluir_cli = new javax.swing.JMenuItem();
        mnit_excluir_cli = new javax.swing.JMenuItem();
        mnit_cons_cli = new javax.swing.JMenuItem();

        getContentPane().setLayout(null);

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Menu Principal - SGRC");
        mnu_manter_cli.setText("Manter Cliente");
        mnu_manter_cli.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnu_manter_cliActionPerformed(evt);
            }
        });

        mnit_incluir_cli.setText("Incluir");
        mnu_manter_cli.add(mnit_incluir_cli);

        mnit_excluir_cli.setText("Excluir");
        mnit_excluir_cli.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mnit_excluir_cliActionPerformed(evt);
            }
        });

        mnu_manter_cli.add(mnit_excluir_cli);

        mnit_cons_cli.setText("Consultar");
        mnu_manter_cli.add(mnit_cons_cli);

        mnu_bar.add(mnu_manter_cli);

        setJMenuBar(mnu_bar);

        pack();
    }// </editor-fold>                        

    private void mnit_excluir_cliActionPerformed(java.awt.event.ActionEvent evt) {                                                 
// TODO add your handling code here:
    }                                                

    private void mnu_manter_cliActionPerformed(java.awt.event.ActionEvent evt) {                                               
// TODO add your handling code here:
    }                                              
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new menuprincipal().setVisible(true);
            }
        });
    }
    
    // Variables declaration - do not modify                     
    public javax.swing.JMenuItem mnit_cons_cli;
    public javax.swing.JMenuItem mnit_excluir_cli;
    public javax.swing.JMenuItem mnit_incluir_cli;
    public javax.swing.JMenuBar mnu_bar;
    public javax.swing.JMenu mnu_manter_cli;
    // End of variables declaration                   
    
}

Código do main

package sgrc2;

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

/**
 *
 * @author Priscilla
 */
public class Main {
    
    /** Creates a new instance of Main */
    public Main() {
    }
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       JFrame frame = new JFrame();
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       menuprincipal menuprincipal = new menuprincipal();
       frame.add(menuprincipal);
       frame.setSize(800,600);   //aqui é o tamanho que a tela terá, você pode redimensionar
       frame.setVisible(true);

    }
    
}

Será que pode ser alguma coisa da minha instalação???

Brigada!

P

Personas,

agradeço pela ajuda, e digo que já resolvi o problema....

estava instanciando um JFrame para um objeto que já é Jframe...

o Codigo do Main ficaria:

/*
 * Main.java
 *
 * Created on 17 de Outubro de 2006, 20:54
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

//package sgrc2;

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

/**
 *
 * @author Priscilla
 */
public class Main {
    
    /** Creates a new instance of Main */
    public Main() {
      
    }
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       MenuPrincipal menuprincipal = new MenuPrincipal();
       menuprincipal.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       menuprincipal.setSize(800,600);   //aqui  o tamanho que a tela ter , voc pode redimensionar
       menuprincipal.setVisible(true);

    }
    
}

Obrigada People!!! :lol:

Criado 17 de outubro de 2006
Ultima resposta 19 de out. de 2006
Respostas 5
Participantes 3