这是一个电梯模拟运行的程序

源代码在线查看: imagepanel.java

软件大小: 729 K
上传用户: susanxuwenjun
关键词: 电梯 模拟 运行 程序
下载地址: 免注册下载 普通下载 VIP

相关代码

				// ImagePanel.java
				// JPanel subclass for positioning and displaying ImageIcon
				package com.deitel.jhtp5.elevator.view;
				
				// Java core packages
				import java.awt.*;
				import java.awt.geom.*;
				import java.util.*;
				
				// Java extension packages
				import javax.swing.*;
				
				public class ImagePanel extends JPanel {
				
				   // identifier
				   private int ID;
				
				   // on-screen position
				   private Point2D.Double position;
				
				   // imageIcon to paint on screen
				   private ImageIcon imageIcon;
				
				   // stores all ImagePanel children
				   private Set panelChildren;
				
				   // constructor initializes position and image
				   public ImagePanel( int identifier, String imageName )
				   {
				      super( null ); // specify null layout
				      setOpaque( false ); // make transparent
				
				      // set unique identifier
				      ID = identifier;
				
				      // set location
				      position = new Point2D.Double( 0, 0 );
				      setLocation( 0, 0 );
				
				      // create ImageIcon with given imageName
				      imageIcon = new ImageIcon(
				         getClass().getResource( imageName ) );
				
				      Image image = imageIcon.getImage();
				      setSize( 
				         image.getWidth( this ), image.getHeight( this ) );
				
				      // create Set to store Panel children
				      panelChildren = new HashSet();
				
				   } // end ImagePanel constructor
				
				   // paint Panel to screen
				   public void paintComponent( Graphics g )
				   {
				      super.paintComponent( g );
				
				      // if image is ready, paint it to screen
				      imageIcon.paintIcon( this, g, 0, 0 );
				   }
				
				   // add ImagePanel child to ImagePanel
				   public void add( ImagePanel panel )
				   {
				      panelChildren.add( panel );
				      super.add( panel );
				   }
				
				   // add ImagePanel child to ImagePanel at given index
				   public void add( ImagePanel panel, int index )
				   {
				      panelChildren.add( panel );
				      super.add( panel, index );
				   }
				
				   // remove ImagePanel child from ImagePanel
				   public void remove( ImagePanel panel )
				   {
				      panelChildren.remove( panel );
				      super.remove( panel );
				   }
				
				   // sets current ImageIcon to be displayed
				   public void setIcon( ImageIcon icon )
				   {
				      imageIcon = icon;
				   }
				
				   // set on-screen position
				   public void setPosition( double x, double y )
				   {
				      position.setLocation( x, y );
				      setLocation( ( int ) x,  ( int ) y );
				   }
				
				   // return ImagePanel identifier
				   public int getID()
				   {
				      return ID;
				   }
				
				   // get position of ImagePanel
				   public Point2D.Double getPosition()
				   {
				      return position;
				   }
				
				   // get imageIcon
				   public ImageIcon getImageIcon()
				   {
				      return imageIcon;
				   }
				
				   // get Set of ImagePanel children
				   public Set getChildren()
				   {
				      return panelChildren;
				   }
				}
				
				
				 /**************************************************************************
				 * (C) Copyright 1992-2003 by Deitel & Associates, Inc. and               *
				 * Prentice Hall. 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.                     *
				 *************************************************************************/
							

相关资源