Hallo zusammen.
der folgende Code soll ein Panel generieren, auf welchen sich Textfelder und ein Button befinden. Die Textfelder werden durch eine For Schleife erzeugt und in eine ArrayListe gespeichert. Die ArrayListe wird dann an eine Methode getUmsatz() übergeben, welche die Werte aufnimmt. Die Methode soll dann die Stringwerte in Integerwerte casten und eine neue IntegerListe zurückgeben. Per Knopfdruck soll mir die Liste mit Integerwerten ausgegeben werden. Leide kommt es zur Fehlermeldung.
"Exception in thread "main" java.lang.StackOverflowError"
Vielleicht kann mir jemand helfen?
der folgende Code soll ein Panel generieren, auf welchen sich Textfelder und ein Button befinden. Die Textfelder werden durch eine For Schleife erzeugt und in eine ArrayListe gespeichert. Die ArrayListe wird dann an eine Methode getUmsatz() übergeben, welche die Werte aufnimmt. Die Methode soll dann die Stringwerte in Integerwerte casten und eine neue IntegerListe zurückgeben. Per Knopfdruck soll mir die Liste mit Integerwerten ausgegeben werden. Leide kommt es zur Fehlermeldung.
"Exception in thread "main" java.lang.StackOverflowError"
Vielleicht kann mir jemand helfen?
Java:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class test {
test s=new test();
JButton buttonBerechne;
JTextField ergebnis=new JTextField();
JTextField textUmsatz=new JTextField("0,00",6);
ArrayList<JTextField> textFieldUmsatzListe=new ArrayList<>();
ArrayList<Integer>intUmsatzListe=new ArrayList<>();
public static void main(String args[]){
test t=new test();
t.los();
}
ArrayList<JTextField> los(){
JFrame frame=new JFrame("BWA Monatsübersicht");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBackground(Color.LIGHT_GRAY);
JButton buttonBerechne=new JButton("Berechne");
JPanel panelTabelle=new JPanel();
JPanel panelUmsatz=new JPanel();
JPanel panelKosten=new JPanel();
panelTabelle.add(panelUmsatz);
panelTabelle.add(panelKosten);
buttonBerechne.addActionListener(new RechnerListener());
ArrayList<JTextField> textFieldUmsatzListe=new ArrayList<>();
for (int i=1;i<4;i++){
textUmsatz=new JTextField("0,00",6);
textFieldUmsatzListe.add(textUmsatz);
panelUmsatz.add(textUmsatz);
}
panelTabelle.setLayout(new BoxLayout(panelTabelle,BoxLayout.PAGE_AXIS));
frame.getContentPane().add(BorderLayout.CENTER, panelTabelle);
frame.getContentPane().add(BorderLayout.NORTH, buttonBerechne);
frame.getContentPane().add(BorderLayout.SOUTH, ergebnis);
frame.setSize(200, 200);
frame.setVisible(true);
return textFieldUmsatzListe;
}
ArrayList<Integer> getUmsatz(ArrayList<JTextField> Liste){
for(int i=1;i<4;i++){
intUmsatzListe.add(i, Integer.parseInt(textUmsatz.getText()));
}
return intUmsatzListe;
}
class RechnerListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
for (int i=0;i<12;i++){
System.out.println(s.getUmsatz(textFieldUmsatzListe));
}
}
}
}