// ArrayTwoDimensionFill.java // Fills a 3 row by 6 column array with consectutive integers // Also fills a 3 row by 6 column array with element subscripts // APPLET CODE="ArrayTwoDimensionFill" HEIGHT=200 WIDTH=800 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ArrayTwoDimensionFill extends JApplet implements ActionListener { int a [ ] [ ]; // creates reference to the two dimensional array // GUI Components Container c; JTextArea outputArea; JButton b; public void init( ) { a = new int [ 3 ] [ 6 ]; // allocates the array c = getContentPane( ); c.setLayout( new FlowLayout( ) ); outputArea = new JTextArea( 10, 60 ); c.add( outputArea ); b = new JButton( "Array, Array"); b.addActionListener( this ); c.add( b ); } public void actionPerformed( ActionEvent e ) { printFillOrder( ); printSubscripts( ); } public void printFillOrder( ) { // initialize outputArea outputArea.setText( "" ); // print table caption outputArea.append( "The order in which cells are filled\n" ); // print column labels for ( int c = 0; c < a[ 0 ].length; c++ ) outputArea.append( "\tCol " + c ); // print the table for ( int r = 0; r < a.length; r++ ) { outputArea.append( "\nRow " + r ); for ( int c = 0; c < a[ r ].length; c++ ) outputArea.append( "\t" + ( r * a[ r ].length + c ) ); } } public void printSubscripts( ) { // print table caption outputArea.append( "\n\nThe cell subscripts in \"r, c\" format\n" ); // print column labels for ( int c = 0; c < a[ 0 ].length; c++ ) outputArea.append( "\tCol " + c ); // print the table for ( int r = 0; r < a.length; r++ ) { outputArea.append( "\nRow " + r ); for ( int c = 0; c < a[ r ].length; c++ ) outputArea.append( "\t" + r + ", " + c ); } } }