// Fig. 3.13: BreakLabelTest.java
// Using the break statement with a label
import java.awt.Graphics;
import java.applet.Applet;

public class BreakLabelTest extends Applet {
   public void paint( Graphics g )
   {
      int xPos, yPos = 0;
      int innerCount;

      stop: {   // labeled compound statement
         System.out.println("\nStart of  outer for loop ...");
         for ( int row = 1; row <= 10; row++ ) {
            xPos = 25;
            yPos += 15;

            innerCount = 0;

            for ( int column = 1; column <= 5 ; column++ ) {

               innerCount++;
               //System.out.print("Start of inner for loop ... ");
               if ( row == 5 )
               {
                  break stop; // jump to end of stop block
                  //break;    // jumps to end of inner for
               }

               g.drawString( "#", xPos, yPos );
               xPos += 7;
            }
            System.out.println("Inner loop executed " + innerCount + " times");

         }
         System.out.println("End of outer for loop ...");
         yPos += 15;
         g.drawString( "Loops terminated normally", 25, yPos );
      } // End of labeled  "stop" block

      yPos += 15;
      g.drawString( "End of paint method", 25, yPos );
   }
}