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)