Buggy code:
c . gridy = 1 ; layout . setConstraints ( progress , c ) ; this . add ( progress ) ; JTextArea matchResults = new JTextArea ( ) ; c . weightx = 0.5 ; c . gridx = 1 ; c . gridy = 2 ; layout . setConstraints ( matchResults , c ) ; matchResults . setPreferredSize ( new Dimension ( 400 , 500 ) ) ; matchResults . setMinimumSize ( new Dimension ( 400 , 500 ) ) ; matchResults . setBackground ( Color . decode ( "#525151" ) ) ; matchResults . setForeground ( Color . white ) ; matchResults . setFont ( new Font ( "Arial" , Font . PLAIN , 14 ) ) ; matchResults . setEditable ( false ) ; String Bookings = "Kaarten:\n" ; String injuries = "Blessures:\n" ; ArrayList < Update > last = states . StateManager . getLeague ( ) . getLastResultDetailed ( ) ; String result = states . StateManager . getLeague ( ) . getLastResult ( ) ; for ( int n = 0 ; n < ( states . StateManager . getLeague ( ) . getLastResultDetailed ( ) . size ( ) ) ; n ++ ) { Update temp = states . StateManager . getLeague ( ) . getLastResultDetailed ( ) . get ( n ) ; String name = "" ; if ( ( n % 2 ) == 0 ) { name = MatchLogic . findOwnMatch ( states . StateManager . getLeague ( ) . getRounds ( ) ) . getHomeTeam ( ) . getTeamName ( ) ; } else { name = MatchLogic . findOwnMatch ( states . StateManager . getLeague ( ) . getRounds ( ) ) . getAwayTeam ( ) . getTeamName ( ) ; } switch ( temp . getType ( ) ) { case 1 : Bookings = ( ( ( ( ( ( Bookings + ( temp . getMinuut ( ) ) ) + "'<seq2seq4repair_space>" ) + ( temp . getSpeler ( ) . getPlayerName ( ) ) ) + "<seq2seq4repair_space>(" ) + name ) + ")" ) + ":<seq2seq4repair_space>Gele<seq2seq4repair_space>kaart\n" ; break ; case 2 : Bookings = ( ( ( ( ( ( Bookings + ( temp . getMinuut ( ) ) ) + "'<seq2seq4repair_space>" ) + ( temp . getSpeler ( ) . getPlayerName ( ) ) ) + "<seq2seq4repair_space>(" ) + name ) + ")" ) + ":<seq2seq4repair_space>Rode<seq2seq4repair_space>kaart\n" ; break ; case 3 : injuries = ( ( ( ( ( injuries + ( temp . getMinuut ( ) ) ) + "'<seq2seq4repair_space>" ) + ( temp . getSpeler ( ) . getPlayerName ( ) ) ) + ":<seq2seq4repair_space>" ) + ( MatchLogic . randomInjury ( ) ) ) + "\n" ; break ; default : break ; } } String yourRoundResult = states . StateManager . getLeague ( ) . getLastResult ( ) ; String othermatches = "" ; Round thisRound = states . StateManager . getLeague ( ) . nextRound ( "Speelschema.xml" , states . StateManager . getLeague ( ) . getRounds ( ) ) ; for ( int n = 0 ; n < 10 ; n ++ ) { Match temp = thisRound . getMatch ( n ) ; if ( ! ( temp . equals ( MatchLogic . findOwnMatch ( states . StateManager . getLeague ( ) . getRounds ( ) ) ) ) ) { Team home = temp . getHomeTeam ( ) ; Team away = temp . getAwayTeam ( ) ; temp = MatchResult . getResult ( home , away , 15 ) ; states . StateManager . getLeague ( ) . processResult ( temp . getHomeTeam ( ) , temp . getAwayTeam ( ) , temp . getHomeScore ( ) , temp . getAwayScore ( ) ) ; } } String roundResults = ( ( ( ( ( ( ( ( ( ( ( "Here<seq2seq4repair_space>is<seq2seq4repair_space>the<seq2seq4repair_space>result<seq2seq4repair_space>of<seq2seq4repair_space>your<seq2seq4repair_space>match:" + "\n" ) + yourRoundResult ) + "\n" ) + "\n" ) + Bookings ) + "\n" ) + "\n" ) + injuries ) + "\n" ) + "\n" ) + "And<seq2seq4repair_space>here<seq2seq4repair_space>are<seq2seq4repair_space>the<seq2seq4repair_space>results<seq2seq4repair_space>of<seq2seq4repair_space>the<seq2seq4repair_space>other<seq2seq4repair_space>matches:" ) + "\n" ; int round = states . StateManager . getLeague ( ) . getRounds ( ) ; Match weddie = MatchLogic . findOwnMatch ( round ) ; states . StateManager . getLeague ( ) . processResult ( weddie . getHomeTeam ( ) , weddie . getAwayTeam ( ) , weddie . getHomeScore ( ) , weddie . getAwayScore ( ) ) ; <START_BUG> states . StateManager . getLeague ( ) . setRounds ( ( ( states . StateManager . getLeague ( ) . getRounds ( ) ) - 2 ) ) ; <END_BUG> matchResults . setText ( roundResults ) ; this . add ( matchResults ) ; JButton buttonAdvance = new JButton ( new ImageIcon ( buttonNRAdvanceImage ) ) ; c . weightx = 0.5 ; c . gridx = 1 ; c . gridy = 3 ; buttonAdvance . setMinimumSize ( new Dimension ( 400 , 100 ) ) ; buttonAdvance . setPreferredSize ( new Dimension ( 400 , 100 ) ) ; createButton ( buttonAdvance , "" , c , layout ) ; attachStateChanger ( buttonAdvance , new MenuBetweenRounds ( ) ) ; JTextArea invisi2 = new JTextArea ( ) ; c . weightx = 0.5 ; c . gridx = 1 ; c . gridy = 0 ; layout . setConstraints ( invisi2 , c ) ; invisi2 . setPreferredSize ( new Dimension ( 200 , 100 ) ) ; invisi2 . setOpaque ( false ) ; invisi2 . setEditable ( false ) ; invisi2 . setMargin ( new Insets ( 50 , 0 , 0 , 0 ) ) ; this . add ( invisi2 ) ; c . weightx = 0.5 ; c . gridheight = 6 ; c . gridwidth = 3 ; c . gridx = 0 ; c . gridy = 0 ;

Fix:
states . StateManager . getLeague ( ) . setRounds ( ( ( states . StateManager . getLeague ( ) . getRounds ( ) ) - 1 ) ) ;