home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1998 October A / Pcwk10a98.iso / Inprise / TRIAL / JBUILDER / JSAMPLES.Z / PromotionDialog.java < prev    next >
Text File  |  1998-05-08  |  3KB  |  106 lines

  1. /*
  2.  * Copyright (c) 1997-1998 Borland International, Inc. All Rights Reserved.
  3.  * 
  4.  * This SOURCE CODE FILE, which has been provided by Borland as part
  5.  * of a Borland product for use ONLY by licensed users of the product,
  6.  * includes CONFIDENTIAL and PROPRIETARY information of Borland.  
  7.  *
  8.  * USE OF THIS SOFTWARE IS GOVERNED BY THE TERMS AND CONDITIONS 
  9.  * OF THE LICENSE STATEMENT AND LIMITED WARRANTY FURNISHED WITH
  10.  * THE PRODUCT.
  11.  *
  12.  * IN PARTICULAR, YOU WILL INDEMNIFY AND HOLD BORLAND, ITS RELATED
  13.  * COMPANIES AND ITS SUPPLIERS, HARMLESS FROM AND AGAINST ANY CLAIMS
  14.  * OR LIABILITIES ARISING OUT OF THE USE, REPRODUCTION, OR DISTRIBUTION
  15.  * OF YOUR PROGRAMS, INCLUDING ANY CLAIMS OR LIABILITIES ARISING OUT OF
  16.  * OR RESULTING FROM THE USE, MODIFICATION, OR DISTRIBUTION OF PROGRAMS
  17.  * OR FILES CREATED FROM, BASED ON, AND/OR DERIVED FROM THIS SOURCE
  18.  * CODE FILE.
  19.  */
  20. package borland.samples.apps.chess.client.board;
  21.  
  22. import java.awt.*;
  23. import java.awt.event.*;
  24. import java.util.*;
  25.  
  26. public class PromotionDialog extends Dialog implements MouseListener{
  27.   PromotionCanvas pieceCanvas = new PromotionCanvas();
  28.   ResourceBundle res = ResourceBundle.getBundle("borland.samples.apps.chess.client.board.Res");
  29.   Chessboard dlgParent;
  30.   Image pieceImage;
  31.  
  32.   public PromotionDialog(Frame parent,Image pieceimage,Chessboard theParent) {
  33.     super(parent,"",false);
  34.     setTitle(res.getString("Promote_your_pawn"));
  35.     System.out.println("promotionDialog xtor");
  36.     dlgParent = theParent;
  37.     this.pieceImage = pieceimage;
  38.     jbInit();
  39.     setLayout(new FlowLayout());
  40.   }
  41.  
  42.   public Dimension getPreferredSize()   {
  43.     Dimension d = super.getPreferredSize();
  44.     if (d.width < 180)
  45.       return new Dimension(180,d.height);
  46.     else
  47.       return d;
  48.  
  49.   }
  50.  
  51.   public void jbInit() {
  52.     pieceCanvas.setImage(pieceImage);
  53.     pieceCanvas.addMouseListener(this);
  54.     add(pieceCanvas);
  55.   }
  56.  
  57.   public void mouseClicked(MouseEvent parm1) {
  58.     //  java.awt.event.MouseListener method;
  59.   }
  60.  
  61.   public void mousePressed(MouseEvent parm1) {
  62.     // java.awt.event.MouseListener method;
  63.     int  piecesub =  parm1.getX() * 4 / pieceCanvas.pieces.getWidth(this);
  64.     if (piecesub > 3)
  65.       piecesub = 3;
  66.     dlgParent.promote(piecesub);
  67.     dispose();
  68.   }
  69.  
  70.   public void mouseReleased(MouseEvent parm1) {
  71.     //  java.awt.event.MouseListener method;
  72.   }
  73.  
  74.   public void mouseEntered(MouseEvent parm1) {
  75.     //  java.awt.event.MouseListener method;
  76.   }
  77.  
  78.   public void mouseExited(MouseEvent parm1) {
  79.     //  java.awt.event.MouseListener method;
  80.   }
  81. }
  82.  
  83. class PromotionCanvas extends Canvas
  84. {
  85.   Image pieces;
  86.   
  87.   public PromotionCanvas(Image img) {
  88.     pieces = img;
  89.   }
  90.  
  91.   public PromotionCanvas() {
  92.   }
  93.  
  94.   public void setImage(Image img) {
  95.     pieces = img;
  96.   }
  97.  
  98.   public Dimension getPreferredSize()   {
  99.     return new Dimension(pieces.getWidth(this) , pieces.getHeight(this));
  100.   }
  101.  
  102.   public void paint(Graphics g)  {
  103.     g.drawImage(pieces,0,0,this);
  104.   }
  105. }
  106.