2016-04-10 3 views
0

Ich habe Probleme, mein Fenster aus meinem Java-Programm erscheinen und ich bekomme Stapelüberlauf Fehler, wenn ich mein Programm ausführen.Das Fenster wird nicht erscheinen Java und Stack-Überlauf Fehler

Hier ist ein Beispiel für den Code, wo ich Problem:

public Ballot() { 
    bp.addBallot(); 
    frame.setTitle("Ballot"); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.setSize(430,350); 
    frame.setLocation(300,100); 
    frame.setResizable(false); 
    Container cont = frame.getContentPane(); 
    cont.setLayout(null); 
    cont.setBackground(Color.GRAY); 
    ButtonGroup bg = new ButtonGroup(); 
    JRadioButton[] buttons = new JRadioButton[numButtons]; 
    for (int i = 0; i < buttons.length; i++) { 
     bg.add(buttons[i]); 
    } 
    JLabel label = new JLabel("Make your choice"); 
    label.setForeground(Color.BLUE); 
    label.setFont(new Font("Arial", Font.BOLD, 11)); 
    next = new JButton("Next"); 
    next.setForeground(Color.GREEN); 
    next.addActionListener(this); 
    panel = new JPanel(); 
    for (int i = 0; i < buttons.length; i++) { 
     panel.add(buttons[i]); 
    } 
    panel.add(next); 
    cont.add(panel); 
    setVisible(true); 
} 

Ich frage mich, wo mit meinem Code falsch gelaufen ist.

Zusätzlicher Code, die helfen könnten:

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import javax.swing.event.*; 
import java.util.*; 
import java.io.*; 

public class Ballot extends JPanel implements ActionListener { 
    JPanel panel; 
    JFrame frame = new JFrame(); 
    int numButtons; 
    JRadioButton[] buttons; 
    JButton next = new JButton(); 
    int votedOrNot; 
    BallotProgram bp = new BallotProgram(); 

    public Ballot() { 
    bp.addBallot(); 
    frame.setTitle("Ballot"); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.setSize(430,350); 
    frame.setLocation(300,100); 
    frame.setResizable(false); 
    frame.pack(); 
    frame.setVisible(true); 
    Container cont = frame.getContentPane(); 
    cont.setLayout(null); 
    cont.setBackground(Color.GRAY); 
    ButtonGroup bg = new ButtonGroup(); 
    JRadioButton[] buttons = new JRadioButton[numButtons]; 
    for (int i = 0; i < buttons.length; i++) { 
     bg.add(buttons[i]); 
    } 
    JLabel label = new JLabel("Make your choice"); 
    label.setForeground(Color.BLUE); 
    label.setFont(new Font("Arial", Font.BOLD, 11)); 
    next = new JButton("Next"); 
    next.setForeground(Color.GREEN); 
    next.addActionListener(this); 
    panel = new JPanel(); 
    for (int i = 0; i < buttons.length; i++) { 
     panel.add(buttons[i]); 
    } 
    panel.add(next); 
    cont.add(panel); 
    setVisible(true); 
} 

public void actionPerformed(ActionEvent a) { 
    if (next.getText().equals("Cast Vote")) { 
     if (votedOrNot == 0) { 
      votedOrNot++; 
     } 
     else { 
     } 
    } 
    else if (next.getText().equals("Login to Vote")) { 
    } 
    } 

} 

Und die andere Klasse:

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import javax.swing.event.*; 
import java.util.*; 
import java.io.*; 

public class BallotProgram { 

String[] choices; 
int numOfChoices; 

public ArrayList<Ballot> addBallot() { 
    File file = new File("ballots.txt"); 
    boolean exists = file.exists(); 
    ArrayList<Ballot> ballot = new ArrayList<Ballot>(); 
    Ballot b = new Ballot(); 
    try { 
     Scanner s = new Scanner(file); 
     while (s.hasNextLine()) { 
      int ballotID = s.nextInt(); 
      s.nextLine(); 
      String ballotTitle = s.nextLine(); 
      choices = new String[numOfChoices]; 
      b.buttons = new JRadioButton[b.numButtons]; 
      for (int i = 0; i < b.numButtons; i++) { 
       choices[i] = s.nextLine(); 
       b.buttons[i] = new JRadioButton(choices[i]); 
      } 
      Ballot bt = new Ballot(); 
      ballot.add(bt); 
     } 
     s.close(); 
    } catch (IOException f) { 
     System.out.println("can't find the file"); 
    } 
    return ballot; 
} 

Und was mein Terminal sagt:

Exception in thread "main" Exception in thread "main" java.lang.StackOverflowError 
at sun.awt.X11GraphicsConfig.pGetBounds(Native Method) 
at sun.awt.X11GraphicsConfig.getBounds(X11GraphicsConfig.java:314) 
at java.awt.Window.init(Window.java:505) 
at java.awt.Window.<init>(Window.java:537) 
at java.awt.Frame.<init>(Frame.java:420) 
at java.awt.Frame.<init>(Frame.java:385) 
at javax.swing.JFrame.<init>(JFrame.java:189) 
at Ballot.<init>(Ballot.java:10) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 

Dank

+0

Versuchen Sie 'pack()' vor 'setVisible()' auszuführen. – Zulfe

+0

Stellen Sie außerdem sicher, dass alles, was Sie als Ergebnis von 'bp.addBallot()' ausführen, nicht die stackOverflowException verursacht. Es wäre einfacher für uns, Ihnen zu sagen, was falsch ist, wenn Sie uns einen Stack-Trace geben. – Zulfe

+0

hat eine Änderung vorgenommen. nicht sicher, warum Fenster nicht geöffnet + Stapelüberlauffehler. – ABY

Antwort

0

A StackOverflowError Happ ens zu den Besten von uns. Hölle, die Website ist nach ihr benannt. Es ist etwas, über das gerade jeder angehende Programmierer stolpert. Die meiste Zeit (für neuere Programmierer) wird eine StackOverflowError verursacht, wenn eine Methode eine Methode aufruft, die die Methode aufruft, die sie aufgerufen hat. Grundsätzlich wird eine endlose Schleife von Methodenaufrufen erstellt.

die Informationen von Ihrer Stack-Trace Nach ...

at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 
at BallotProgram.addBallot(BallotProgram.java:17) 
at Ballot.<init>(Ballot.java:18) 

Wir sehen, dass es eine klare Schleife zwischen zwei Punkten in Ihrem Programm. Wenn wir diese Punkte untersuchen ...

public ArrayList<Ballot> addBallot() { 
    ... 
    Ballot b = new Ballot(); 
    ... 
} 

und

public Ballot() { 
    bp.addBallot(); 
    ... 
} 

wir, dass die Endlos-Schleife sehen hier erstellt wird. Wenn wir ein neues Ballot-Objekt erstellen, ruft sein Konstruktor bp.addBallot() auf, was wiederum die Zeile Ballot b = new Ballot() erreicht, die zurück zum Konstruktor führt. Bei der Erstellung eines neuen Objekts Ballot wird ein neues Objekt Ballot immer wieder erstellt, bis die StackOverflowError geworfen wird.

+0

Wie behebe ich dieses Problem? Ich möchte in der Lage sein, einen Stimmzettel zu initialisieren und ihn zu öffnen. – ABY

+0

Ich glaube, der beste Weg wäre, 'bp.addBallot()' aus dem Konstruktor der 'Ballot'-Klasse zu entfernen. Ich sehe nicht, warum Sie ein Objekt hinzufügen würden, das Sie noch vollständig instanziieren müssen. – Zulfe

Verwandte Themen