Exception in thread “main” java.lang.StackOverflowError -


errors when compile file no errors when try execute following messages:

exception in thread "main" java.lang.stackoverflowerror @ sun.awt.suntoolkit.isinstanceof(suntoolkit.java:1988) @ sun.awt.suntoolkit.isinstanceof(suntoolkit.java:1997) @ sun.awt.suntoolkit.isinstanceof(suntoolkit.java:1997) @ sun.awt.suntoolkit.isinstanceof(suntoolkit.java:1997) @ sun.awt.suntoolkit.isinstanceof(suntoolkit.java:1997) @ sun.awt.suntoolkit.isinstanceof(suntoolkit.java:1997) @ sun.awt.suntoolkit.isinstanceof(suntoolkit.java:1982) @ javax.swing.lookandfeel.installproperty(lookandfeel.java:275) @ javax.swing.plaf.basic.basicbuttonui.installdefaults(basicbuttonui.java:102) @ javax.swing.plaf.metal.metalbuttonui.installdefaults(metalbuttonui.java:80) @ javax.swing.plaf.basic.basicbuttonui.installui(basicbuttonui.java:88) @ javax.swing.jcomponent.setui(jcomponent.java:664) @ javax.swing.abstractbutton.setui(abstractbutton.java:1807) @ javax.swing.jbutton.updateui(jbutton.java:146) @ javax.swing.abstractbutton.init(abstractbutton.java:2172) @ javax.swing.jbutton.<init>(jbutton.java:136) @ javax.swing.jbutton.<init>(jbutton.java:109) @ paneel$boven.<init>(loterij3.java:65) @ paneel$kies.<init>(loterij3.java:125) @ paneel$boven.<init>(loterij3.java:66) @ paneel$kies.<init>(loterij3.java:125) 

and last lines repeats many times.

question: have change in code make work?

note: i'm new java , know there more posts 1 can't apply them code current limited understanding of java.

if wants know: i'm using jcreator.

what i'm trying make: i'm trying make simple.

1) fill in name in jtextfield, press enter , name should appear in jtextarea. after name in jtextarea jtextfield becomes empty can fill name , on there should appear list of names in jtextarea. (this i'm trying make)

2) push button kieswin make program choose random person list.

3) push button resetl reset program can make new list choose random winner it.

the whole code:

import javax.swing.*; import javax.swing.border.*; import java.awt.*; import java.awt.event.*; import java.util.*;  // main method make frame public class loterij3 extends jframe { public static void main( string args[] ) {     jframe frame = new loterij3();     frame.setextendedstate( frame.maximized_both );     frame.setdefaultcloseoperation( jframe.exit_on_close );     frame.settitle( "klanten register" );     frame.setcontentpane( new paneel() );     frame.setvisible( true ); } }  class paneel extends jpanel { private boven boven; jtextarea textvak1; jtextfield textvak2; onthoudnaam onthoudnaam = new onthoudnaam();  public paneel() { setlayout( new borderlayout() ); // using border layout. setbackground( color.light_gray );  textvak1 = new jtextarea(); add( new jscrollpane( textvak1 ) ); textvak1.setbackground( color.white );  textvak2 = new jtextfield(); textvak2.sethorizontalalignment(jtextfield.center); textvak2.seteditable( false );  boven = new boven();      add( boven, borderlayout.north ); add( textvak1, borderlayout.center ); add( textvak2, borderlayout.south ); }  class boven extends jpanel { jbutton kieswin, resetl; jlabel label1; jtextfield invoervak1;  public boven() {     setbackground( color.light_gray );     setlayout( new gridlayout( 1, 4, 100, 5 ) ); // using gridlayout.     border border =          borderfactory.createemptyborder( 10, 10, 10, 10 );     setborder( border );      kieswin = new jbutton("kies een winnaar!");     kieswin.addactionlistener( new kies() );     resetl = new jbutton("reset alles");     resetl.addactionlistener( new reset() );     label1 = new jlabel("voer persoon in en druk op enter: ", jlabel.right);     invoervak1 = new jtextfield( 20 );     invoervak1.addactionlistener( new invoervakhandler() );      add( label1 );     add( invoervak1 );     add( kieswin );     add( resetl );     } }  // de naam class naam {     private string ingevoerdnaam;      public naam( string ingevoerdnaam) {         this.ingevoerdnaam = ingevoerdnaam;     }      public string getingevoerdnaam() {         return ingevoerdnaam;     } }  // arraylist class onthoudnaam extends jpanel {     private arraylist<naam> lijst;      public onthoudnaam() {         lijst = new arraylist<naam>();         }          public void voegnaamtoe(naam x ) {         lijst.add(x);         }          public string tostring() {         stringbuffer buffer = new stringbuffer();         for(naam x : lijst ) {         buffer.append( x );         buffer.append( "\n" );     }     return buffer.tostring(); } }  // invoer handler public class invoervakhandler extends boven implements actionlistener {     public void actionperformed( actionevent e ) {         string invoer = invoervak1.gettext();         naam naam = new naam( invoer );         onthoudnaam.voegnaamtoe( naam );         textvak1.settext( onthoudnaam.tostring() );     } }     // kies class kies extends boven implements actionlistener {     public void actionperformed( actionevent e ) {     } }  // reset class reset extends boven implements actionlistener {     public void actionperformed( actionevent e ) {     } } } 

for trying me: thank , patience in advance!

in constructor of boven, call

kieswin.addactionlistener( new kies() ); 

the constructor of kies, but

class kies extends boven implements actionlistener { 

that constructor calls constructor of boven. have infinite recursion.


Comments

Popular posts from this blog

java - Jmockit String final length method mocking Issue -

asp.net - Razor Page Hosted on IIS 6 Fails Every Morning -

c++ - wxwidget compiling on windows command prompt -