⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drawjpanel.java

📁 32个java程序源代码
💻 JAVA
字号:
// Exercise 20.12: DrawJPanel.java
// This class defines the DrawJPanel object.
import java.util.Random;
import java.util.ArrayList;
import java.util.Iterator;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;

public class DrawJPanel extends JPanel
{
   // ArrayList object to hold MyRectangle objects
   private ArrayList brickArrayList = new ArrayList();
      
   // no-argument constructor
   public DrawJPanel()
   {
      super();

   }  // end contructor

   // add randomNumber brick to ArrayList and draw all bricks
   public void paintComponent( Graphics g )
   {
      super.paintComponent( g );

      // create iterator
      Iterator traverse = brickArrayList.iterator();

      // iterate through ArrayList and draw all MyRectangles
      while ( traverse.hasNext() )
      {
         MyRectangle currentRectangle =
            ( MyRectangle ) traverse.next();

         currentRectangle.drawMyRectangle( g ); // draw brick

      } // end while loop

   } // end method paintComponent

   // create brick wall based on user input
   public void drawBricks()
   {
      // declare a new MyRectangle object
      MyRectangle brick;

      // set the bricks color
      Color myColor = Color.RED;

      // initialize width and height variables
      int width = 45;
      int height = 20;

      // set the y position
      for ( int row = 0; row <= 9; row++ )
      {
         int y = row * 25;

         // set the x position
         for ( int column = 0; column <= 9; column++ )
         {
            int x = column * 50;

            // if row is odd
            if ( row % 2 == 1 )
            {
               // draw the odd rows of bricks
               brick = new MyRectangle( x, y, width, height, 
                  myColor );
               brickArrayList.add( brick );
            }
            else
            {
               // draw the even rows of bricks
               brick = new MyRectangle( x - 25, y, width, 
                  height, myColor );
               brickArrayList.add( brick );
            }
         
         } // end inner for

         // add a small brick to the end of even rows
         if ( row % 2 == 0 )
         {
            brick = new MyRectangle( 9 * 50 - 25, y, 
               width - 25, height, myColor );
            brickArrayList.add( brick );
         }

      } // end outer for

      // repaint JPanel
      repaint();

   } // end method drawBricks

   // clear rectangleArray
   public void clearArray()
   {
      // clear ArrayList
      brickArrayList.clear();

   } // end method clearArray
      
} // end class DrawJPanel

/**************************************************************************
 * (C) Copyright 1992-2004 by Deitel & Associates, Inc. and               *
 * Pearson Education, Inc. All Rights Reserved.                           *
 *                                                                        *
 * DISCLAIMER: The authors and publisher of this book have used their     *
 * best efforts in preparing the book. These efforts include the          *
 * development, research, and testing of the theories and programs        *
 * to determine their effectiveness. The authors and publisher make       *
 * no warranty of any kind, expressed or implied, with regard to these    *
 * programs or to the documentation contained in these books. The authors *
 * and publisher shall not be liable in any event for incidental or       *
 * consequential damages in connection with, or arising out of, the       *
 * furnishing, performance, or use of these programs.                     *
 **************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -