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

  1. package borland.samples.apps.chess.client;
  2.  
  3. import java.awt.*;
  4. import java.awt.event.ActionEvent;
  5. import java.awt.event.WindowEvent;
  6. import java.awt.event.ActionListener;
  7.  
  8. /**Present the Draw dialog, and initiates the response to the server
  9. *  Does double duty as the Offer Abort dialog as well.
  10. */
  11. public class DrawDlg extends Dialog  implements OkCancelDialog{
  12.   Panel dlgPanel = new Panel();
  13.   Button yesButton = new Button();
  14.   Button noButton = new Button();
  15.   Label text1 = new Label();
  16.   Label text2 = new Label();
  17.   Panel centerPanel = new Panel();
  18.   Label northSpace  = new Label();
  19.   Label westSpace   = new Label();
  20.   Label eastSpace   = new Label();
  21.   BorderLayout dialogLayout = new BorderLayout();
  22.   boolean drawdlg;
  23.   Panel buttonBar = new Panel();
  24.   GridLayout centerpanelLayout = new GridLayout();
  25.   ChessViewer dlgParent;
  26.   
  27.   public DrawDlg(Frame parent,String name,ChessViewer theapp) {
  28.     super(parent,name,false);
  29.     enableEvents(AWTEvent.WINDOW_EVENT_MASK);
  30.     dlgParent = theapp;
  31.  
  32.     dlgParent.setModal(true);
  33.     if (name.equals("OfferDraw")) {
  34.       drawdlg = true;
  35.       setTitle(CVS.WANNA_DRAW_);
  36.     }
  37.     else {
  38.       setTitle(CVS.WANNA_ABORT_);
  39.       drawdlg = false;
  40.     }
  41.     jbInit();
  42.     add(dlgPanel);
  43.     if (drawdlg)
  44.       text1.setText(dlgParent.opponentName  + CVS.HAS_OFFERED_YOU_A);
  45.     else
  46.       text1.setText(dlgParent.opponentName  + CVS.HAS_OFFERED_TO_ABORT);
  47.   }
  48.   public void jbInit() {
  49.     text1.setText(CVS.HAS_OFFERED_YOU_A);
  50.     text2.setText(CVS.DO_YOU_ACCEPT_);
  51.     dlgPanel.setLayout(dialogLayout);
  52.     eastSpace.setText("  ");
  53.     centerpanelLayout.setRows(3);
  54.     centerpanelLayout.setColumns(1);
  55.     westSpace.setText("  ");
  56.     northSpace.setText("  ");
  57.     dlgPanel.add(eastSpace,"East");
  58.     dlgPanel.add(westSpace,"West");
  59.     dlgPanel.add(northSpace,"North");
  60.     dlgPanel.add(centerPanel,"Center");
  61.     centerPanel.setLayout(centerpanelLayout );
  62.     centerPanel.add(text1 );
  63.     centerPanel.add(text2);
  64.     buttonBar.add(yesButton);
  65.     yesButton.setLabel(CVS.YES);
  66.     buttonBar.add(noButton );
  67.     noButton.setLabel(CVS.NO);
  68.     yesButton.addActionListener(new OkButtonListener(this));
  69.     noButton.addActionListener(new CancelButtonListener(this));
  70.     centerPanel.add(buttonBar);
  71.   }
  72.  
  73.   public void ok(ActionEvent evt) {
  74.     int i=1;
  75.  
  76.     if (drawdlg) {
  77.       dlgParent.statusLine.setText(CVS.GAME_DRAWN);
  78.       dlgParent.game.setComment(dlgParent.movecount,dlgParent.color,"1/2-1/2");
  79.       dlgParent.sendMsg("AcceptDraw","1/2-1/2")   ;
  80.       dlgParent.gameOver();
  81.       dlgParent.setModal(false);
  82.     }
  83.     else {
  84.       dlgParent.statusLine.setText(CVS.GAME_ABORTED);
  85.       dlgParent.sendMsg("AcceptAbort","Aborted")   ;
  86.     }
  87.     dlgParent.gameOver();
  88.     dlgParent.setModal(false);
  89.     dispose();
  90.   }
  91.  
  92.   protected void processWindowEvent(WindowEvent e)  {
  93.     if (e.getID() == WindowEvent.WINDOW_CLOSING)
  94.       cancel(null);
  95.     super.processWindowEvent(e);
  96.   }
  97.  
  98.   public void cancel(ActionEvent evt) {
  99.     dlgParent.sendMsg("Refused","") ;
  100.     dispose();
  101.     dlgParent.setModal(false);
  102.   }
  103. }
  104.  
  105.