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

📄 drawjpanel.java

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

public class DrawJPanel extends JPanel
{
   // integer to store the current floor
   private int currentFloor = 1;

   // integer to store the previous floor
   private int lastFloor = 1;

   // integer to store the current position of the elevator
   private int currentPosition = 400;

   // integer to store the position to me moved to
   private int moveToPosition = 400;

   // MyRectangle object to represent the elevator
   private MyRectangle buildingElevator;

   // Timer for displaying elevator movement
   private Timer delayTimer;
      
   // no-argument constructor
   public DrawJPanel()
   {
      super();

      // Timer object to move the elevator
      delayTimer = new Timer( 10, 
      
         new ActionListener() // anonymous inner class
         {
            // timer has incremented
            public void actionPerformed( ActionEvent event )
            {
               delayTimerActionPerformed( event );
            }
         
         } // end anonymous inner class
      
      ); // end call to ActionListener

   }  // end contructor

   // draw all elevator rectangles
   public void paintComponent( Graphics g )
   {
      super.paintComponent( g );

      // draw elevator
      buildingElevator.drawMyRectangle( g );

   } // end method paintComponent

   // move elevator to the new floor
   public void moveElevatorToFloor( int floor )
   {
      // set the current position to the correct y-coordinate
      currentPosition = ( 9 - currentFloor ) * 50;
      lastFloor = currentFloor;

      // set the new position to the correct y-coordinate
      moveToPosition = ( 9 - floor ) * 50;
      currentFloor = floor;

      // if elevator needs to be moved
      if ( currentPosition != moveToPosition )
      {
         delayTimer.start(); // start the timer
      }

   } // end method moveElevatorToFloor

   // move the elevator
   public void moveElevator()
   {

   } // end method drawElevator

   // call method moveElevator when the delayTimer increments
   private void delayTimerActionPerformed( ActionEvent event )
   {
      moveElevator();

      // stop timer when elevator reaches correct floor
      if ( currentPosition == moveToPosition )
      {
         delayTimer.stop();
      }
   
   } // end method delayTimerActionPerformed
      
} // 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 + -