Herança

0 respostas
maiden

Tenho um projeto no net bens de controle de estoque e na classe TelaPrincipal está assim:

package view;

import java.text.DateFormat;
import java.util.Date;
import javax.swing.JLabel;
import utilitarios.Data;

/**
 * Classe responsavel pela tela principal
 */
public class TelaPrincipal extends javax.swing.JFrame {

    /**
     * Creates new form TelaPrincipal
     */
    public TelaPrincipal() {
       
        initComponents();
        
        Data mostraData = new Data();
        mostraData.leData();
       
    }

    /**
     * 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.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        jButton1 = new javax.swing.JButton();
        logo = new javax.swing.JLabel();
        label_sistema_desenvolvimento = new javax.swing.JLabel();
        label_data = new javax.swing.JLabel();
        jMenuBar2 = new javax.swing.JMenuBar();
        menu_cadastro = new javax.swing.JMenu();
        menuitem_clietes = new javax.swing.JMenuItem();
        menuitem_funcionarios = new javax.swing.JMenuItem();
        menuitem_cargo = new javax.swing.JMenuItem();
        menuitem_cidades = new javax.swing.JMenuItem();
        menuttem_bairro = new javax.swing.JMenuItem();
        menuitem_fornecedor = new javax.swing.JMenuItem();
        jSeparator2 = new javax.swing.JPopupMenu.Separator();
        menu_estoque = new javax.swing.JMenu();
        menuitem_entrada = new javax.swing.JMenuItem();
        menuitem_saida = new javax.swing.JMenuItem();
        jSeparator1 = new javax.swing.JPopupMenu.Separator();
        menuitem_sair = new javax.swing.JMenuItem();
        menu_consultas = new javax.swing.JMenu();
        jMenu1 = new javax.swing.JMenu();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Sistema de Controle de Estoque");

        jPanel1.setBackground(new java.awt.Color(102, 102, 255));

        jButton1.setIcon(new javax.swing.ImageIcon("C:\\Users\\willame\\Documents\\NetBeansProjects\\Estoque\\imagens\\usuarios.gif")); // NOI18N
        jButton1.setText("Clientes");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(21, 21, 21)
                .addComponent(jButton1)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jButton1)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        logo.setIcon(new javax.swing.ImageIcon("C:\\Users\\willame\\Documents\\NetBeansProjects\\Estoque\\imagens\\logo.jpg")); // NOI18N

        label_sistema_desenvolvimento.setText("Sistema Desenvolvido por Willame");

        label_data.setText("Data: ");

        menu_cadastro.setText("Cadastro");

        menuitem_clietes.setIcon(new javax.swing.ImageIcon("C:\\Users\\willame\\Documents\\NetBeansProjects\\Estoque\\imagens\\usuarios.gif")); // NOI18N
        menuitem_clietes.setText("Clietes");
        menuitem_clietes.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                menuitem_clietesActionPerformed(evt);
            }
        });
        menu_cadastro.add(menuitem_clietes);

        menuitem_funcionarios.setText("Funcionarios");
        menu_cadastro.add(menuitem_funcionarios);

        menuitem_cargo.setText("Cargo");
        menuitem_cargo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                menuitem_cargoActionPerformed(evt);
            }
        });
        menu_cadastro.add(menuitem_cargo);

        menuitem_cidades.setText("Cidades");
        menu_cadastro.add(menuitem_cidades);

        menuttem_bairro.setText("Bairros");
        menu_cadastro.add(menuttem_bairro);

        menuitem_fornecedor.setText("Fornecedor");
        menu_cadastro.add(menuitem_fornecedor);
        menu_cadastro.add(jSeparator2);

        menu_estoque.setText("Estoque");

        menuitem_entrada.setText("Entrada");
        menu_estoque.add(menuitem_entrada);

        menuitem_saida.setText("Saida");
        menu_estoque.add(menuitem_saida);

        menu_cadastro.add(menu_estoque);
        menu_cadastro.add(jSeparator1);

        menuitem_sair.setText("Sair");
        menu_cadastro.add(menuitem_sair);

        jMenuBar2.add(menu_cadastro);

        menu_consultas.setText("Consultas");
        jMenuBar2.add(menu_consultas);

        jMenu1.setText("Relatorios");
        jMenuBar2.add(jMenu1);

        setJMenuBar(jMenuBar2);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addGap(0, 0, Short.MAX_VALUE)
                .addComponent(logo))
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(26, 26, 26)
                        .addComponent(label_sistema_desenvolvimento))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(407, 407, 407)
                        .addComponent(label_data)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(logo)
                .addGap(42, 42, 42)
                .addComponent(label_sistema_desenvolvimento)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 23, Short.MAX_VALUE)
                .addComponent(label_data)
                .addContainerGap())
        );

        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        setBounds((screenSize.width-803)/2, (screenSize.height-398)/2, 803, 398);
    }// </editor-fold>

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

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

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

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /*
         * Set the Nimbus look and feel
         */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /*
         * If Nimbus (introduced in Java SE 6) is not available, stay with the
         * default look and feel. For details see
         * http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(TelaPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(TelaPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(TelaPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(TelaPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /*
         * Create and display the form
         */
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new TelaPrincipal().setVisible(true);
            }
        });
    }

    //coloquei esse get e set
    public JLabel getLabelData(){
        return label_data;
    }
    
    public void setLabelData(String format) {
        JLabel labelData = getLabelData();
    }
    
	
    // Variables declaration - do not modify
    private javax.swing.JButton jButton1;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenuBar jMenuBar2;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPopupMenu.Separator jSeparator1;
    private javax.swing.JPopupMenu.Separator jSeparator2;
    private javax.swing.JLabel label_data;
    private javax.swing.JLabel label_sistema_desenvolvimento;
    private javax.swing.JLabel logo;
    private javax.swing.JMenu menu_cadastro;
    private javax.swing.JMenu menu_consultas;
    private javax.swing.JMenu menu_estoque;
    private javax.swing.JMenuItem menuitem_cargo;
    private javax.swing.JMenuItem menuitem_cidades;
    private javax.swing.JMenuItem menuitem_clietes;
    private javax.swing.JMenuItem menuitem_entrada;
    private javax.swing.JMenuItem menuitem_fornecedor;
    private javax.swing.JMenuItem menuitem_funcionarios;
    private javax.swing.JMenuItem menuitem_saida;
    private javax.swing.JMenuItem menuitem_sair;
    private javax.swing.JMenuItem menuttem_bairro;
    // End of variables declaration
}

e uma classe chamada Data que está assim:

package utilitarios;

import java.text.DateFormat;
import java.util.Date;
import view.TelaPrincipal;

/**
 *Classe serve para ler a data atual
 */

public class Data extends TelaPrincipal{
    
    //static String mes, dia, ano, dia_semana;
    
    public void leData(){
       
       // Date data = new Date(); - esses métodos estão depreciados
       // mes = ""+data.getMonth();
       // dia = ""+data.getDate();
       // ano = ""+(1900 + data.getYear());
       // dia_semana = ""+data.getDay();
       
       Date data = new  Date();
       DateFormat f = DateFormat.getDateInstance(DateFormat.FULL);
       
       TelaPrincipal tp = new TelaPrincipal();
       tp.setLabelData(f.format(data));
    }
}

Na classe Data tp.setLabelData(f.format(data)); chama o Label da classe TelaPrincipal queria saber o por que desse erro

mensagem de erro:

Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
	at sun.awt.SunToolkit.isInstanceOf(SunToolkit.java:1984)
	at sun.awt.SunToolkit.isInstanceOf(SunToolkit.java:1993)
	at sun.awt.SunToolkit.isInstanceOf(SunToolkit.java:1993)
	at sun.awt.SunToolkit.isInstanceOf(SunToolkit.java:1993)
	at sun.awt.SunToolkit.isInstanceOf(SunToolkit.java:1993)
	at sun.awt.SunToolkit.isInstanceOf(SunToolkit.java:1993)
	at sun.awt.SunToolkit.isInstanceOf(SunToolkit.java:1993)
	at sun.awt.SunToolkit.isInstanceOf(SunToolkit.java:1978)
	at javax.swing.LookAndFeel.installProperty(LookAndFeel.java:275)
	at javax.swing.plaf.synth.SynthStyle.installDefaults(SynthStyle.java:945)
	at javax.swing.plaf.nimbus.NimbusStyle.installDefaults(NimbusStyle.java:231)
	at javax.swing.plaf.synth.SynthStyle.installDefaults(SynthStyle.java:916)
	at javax.swing.plaf.synth.SynthLookAndFeel.updateStyle(SynthLookAndFeel.java:265)
	at javax.swing.plaf.synth.SynthMenuUI.updateStyle(SynthMenuUI.java:79)
	at javax.swing.plaf.synth.SynthMenuUI.installDefaults(SynthMenuUI.java:63)
	at javax.swing.plaf.basic.BasicMenuItemUI.installUI(BasicMenuItemUI.java:107)
	at javax.swing.JComponent.setUI(JComponent.java:664)
	at javax.swing.AbstractButton.setUI(AbstractButton.java:1807)
	at javax.swing.JMenuItem.setUI(JMenuItem.java:240)
	at javax.swing.JMenu.updateUI(JMenu.java:223)
	at javax.swing.JMenuItem.init(JMenuItem.java:211)
	at javax.swing.JMenuItem.<init>(JMenuItem.java:150)
	at javax.swing.JMenuItem.<init>(JMenuItem.java:127)
	at javax.swing.JMenu.<init>(JMenu.java:175)
	at javax.swing.JMenu.<init>(JMenu.java:165)
	at view.TelaPrincipal.initComponents(TelaPrincipal.java:40)
	at view.TelaPrincipal.<init>(TelaPrincipal.java:18)
	at utilitarios.Data.leData(Data.java:26)
	at view.TelaPrincipal.<init>(TelaPrincipal.java:21)
	at utilitarios.Data.leData(Data.java:26)
	at view.TelaPrincipal.<init>(TelaPrincipal.java:21)
	at utilitarios.Data.leData(Data.java:26)
Criado 24 de junho de 2014
Respostas 0
Participantes 1