Ola, eu estou tendoum problema que quando vou executar este programa nao esta executando, Eu nao sei o porque, aconteceu isso quando tentei adicionar o voltar nas Classes que precisam voltar a TCaixa.
Classe TCaixa
package Trab;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
public class TCaixa extends JFrame{
JButton cancelar = new JButton("Cancelar");
JButton ok = new JButton("ok");
JButton saque = new JButton("Saque");
JButton extrato = new JButton("Extrato");
JButton depositar = new JButton("Depositar");
JButton transferir = new JButton("Transferir");
public TCaixa (){
super("Caixa");
Container c = getContentPane();
c.setLayout(new GridLayout(3,2));
saque.addActionListener(new ActionListener() {
TSacar telaS = new TSacar();
public void actionPerformed(ActionEvent s){
telaS.setVisible(true);
dispose();
}
});
c.add(saque);
extrato.addActionListener(new ActionListener() {
TExtrato telaE = new TExtrato();
public void actionPerformed(ActionEvent a){
telaE.setVisible(true);
dispose();
}
});
c.add(extrato);
depositar.addActionListener(new ActionListener() {
TDepositar telaD = new TDepositar();
public void actionPerformed(ActionEvent d){
telaD.setVisible(true);
dispose();
}
});
c.add(depositar);
transferir.addActionListener(new ActionListener() {
TTransferir telaT = new TTransferir();
public void actionPerformed(ActionEvent t){
telaT.setVisible(true);
dispose();
}
});
c.add(transferir);
ok.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
setVisible(true);
dispose();
}
});
c.add(ok);
c.add(cancelar);
setSize(300,200);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
Telainicial chamatela = new Telainicial();
chamatela.setVisible(true);
}
}
Uma das classes que tem a opcao de voltar (Classe TSacar)
package Trab;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class TSacar extends JFrame{
JButton voltar = new JButton("Voltar");
JButton ok = new JButton("ok");
JTextField saque = new JTextField();
TCaixa tela = new TCaixa();
public TSacar (){
super("Saque");
Container c = getContentPane();
c.setLayout(new GridLayout(3,2));
c.add(new JLabel ("Quanto deseja sacar:"));
c.add(saque);
ok.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
tela.setVisible(true);
dispose();
}
});
c.add(ok);
voltar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
tela.setVisible(true);
dispose();
}
});
c.add(voltar);
setSize(300,200);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
O Erro que esta dando e este aqui:
Exception in thread “main” java.lang.StackOverflowError
at sun.awt.Win32GraphicsConfig.getBounds(Native Method)
at sun.awt.Win32GraphicsConfig.getBounds(Unknown Source)
at java.awt.Window.init(Unknown Source)
at java.awt.Window.(Unknown Source)
at java.awt.Frame.(Unknown Source)
at javax.swing.JFrame.(Unknown Source)
at Trab.TCaixa.(TCaixa.java:27)
at Trab.TSacar.(TSacar.java:21)
at Trab.TCaixa$1.(TCaixa.java:34)
at Trab.TCaixa.(TCaixa.java:33)
… e repete…
Se alguem ajudar, agredeco