home *** CD-ROM | disk | FTP | other *** search
/ BUG 15 / BUGCD1998_06.ISO / aplic / jbuilder / jsamples.z / PromotionDialog.java < prev    next >
Text File  |  1997-07-03  |  2KB  |  84 lines

  1. package borland.samples.apps.chess.client.board;
  2.  
  3. import java.awt.*;
  4. import java.awt.event.*;
  5.  
  6. public class PromotionDialog extends Dialog implements MouseListener {
  7.   PromotionCanvas pieceCanvas = new PromotionCanvas();
  8.   Chessboard dlgParent;
  9.   Image pieceImage;
  10.  
  11.   public PromotionDialog(Frame parent,Image pieceimage,Chessboard theParent) {
  12.     super(parent,"Promote your pawn",false);
  13.     System.out.println("promotionDialog xtor");
  14.     dlgParent = theParent;
  15.     this.pieceImage = pieceimage;
  16.     jbInit();
  17.     setLayout(new FlowLayout());
  18.   }
  19.  
  20.   public Dimension getPreferredSize()   {
  21.     Dimension d = super.getPreferredSize();
  22.     if (d.width < 180)
  23.       return new Dimension(180,d.height);
  24.     else
  25.       return d;
  26.  
  27.   }
  28.  
  29.   public void jbInit() {
  30.     pieceCanvas.setImage(pieceImage);
  31.     pieceCanvas.addMouseListener(this);
  32.     add(pieceCanvas);
  33.   }
  34.  
  35.   public void mouseClicked(MouseEvent parm1) {
  36.     //  java.awt.event.MouseListener method;
  37.   }
  38.  
  39.   public void mousePressed(MouseEvent parm1) {
  40.     // java.awt.event.MouseListener method;
  41.     int  piecesub =  parm1.getX() * 4 / pieceCanvas.pieces.getWidth(this);
  42.     if (piecesub > 3)
  43.       piecesub = 3;
  44.     dlgParent.promote(piecesub);
  45.     dispose();
  46.   }
  47.  
  48.   public void mouseReleased(MouseEvent parm1) {
  49.     //  java.awt.event.MouseListener method;
  50.   }
  51.  
  52.   public void mouseEntered(MouseEvent parm1) {
  53.     //  java.awt.event.MouseListener method;
  54.   }
  55.  
  56.   public void mouseExited(MouseEvent parm1) {
  57.     //  java.awt.event.MouseListener method;
  58.   }
  59. }
  60.  
  61. class PromotionCanvas extends Canvas
  62. {
  63.   Image pieces;
  64.   
  65.   public PromotionCanvas(Image img) {
  66.     pieces = img;
  67.   }
  68.  
  69.   public PromotionCanvas() {
  70.   }
  71.  
  72.   public void setImage(Image img) {
  73.     pieces = img;
  74.   }
  75.  
  76.   public Dimension getPreferredSize()   {
  77.     return new Dimension(pieces.getWidth(this) , pieces.getHeight(this));
  78.   }
  79.  
  80.   public void paint(Graphics g)  {
  81.     g.drawImage(pieces,0,0,this);
  82.   }
  83. }
  84.