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

📄 displayfield.java

📁 利用BlueJ开发的一个类似小时候完的吃豆豆的小游戏
💻 JAVA
字号:
/* * cs101 DisplayField utility  * $Id: DisplayField.java,v 1.1.1.1 2002/06/05 21:56:32 root Exp $ * * Developed for "Rethinking CS101", a project of Lynn Andrea Stein's AP Group. * For more information, see <a href="http://www.ai.mit.edu/projects/cs101/">the * CS101 homepage</a> or email <las@ai.mit.edu>. * * Copyright (C) 1996 Massachusetts Institute of Technology. * Please do not redistribute without obtaining permission. */package cs101.awt;import java.awt.*;/** * cs101.awt.DisplayField extends cs101.util.ColorField to add a line of * text to the colored rectangle.<p>  The size of the rectangle is supposed * to change with the length of the text.  The color of the field can also * change between two predetermined colors.   * * <P>Copyright 1996 Massachusetts Institute of Technology * * @author Todd C. Parnell, tparnell@ai.mit.edu * @author Joshua R. Brown, reuben@ai.mit.edu * @version $Id: DisplayField.java,v 1.1.1.1 2002/06/05 21:56:32 root Exp $ */public class DisplayField extends ColorField {  /** the string to be displayed */  protected String text;       // DisplayField(String, boolean, Dimension, Color, Color)  /**   * Constructs a rectangular colorfield with the passed   * attributes.   *   * @param text       The text to intially display in the field.   * @param initState  The initial state of the color field.   * @param trueColor  The color of the field when the state is true.   * @param falseColor The color of the field when the state is false.     */  public DisplayField(String text, boolean initState, Color trueColor,		      Color falseColor) {    super(initState, new Dimension(25,25), trueColor, falseColor);    this.text = text;  }  // setText(String)  /**   * Changes the text of the DisplayField to the string passed.   *   * Should also resize the component to fit the text.   * This is not fully implemented yet.   *   * @param text  The string to be displayed in the field.   */  public void setText(String text) {    this.text = text;    measure();    repaint();  }  /**   * This method is called to determine the size of the   * rectangle given the current text to display.   */  private void measure() {    Dimension oldSize = new Dimension(this.dim);    FontMetrics fm = this.getFontMetrics(this.getFont());        // If we don't have font metrics yet go with our guess    if (fm == null)             return;                this.dim.height=fm.getHeight()+16;    this.dim.width=fm.stringWidth(this.text)+20;  }  /**   * Calls super.addNotify.  Then measures it's intial size.   * <br>    * Note: Must be called from here so that the Font Metrics is available   * for measuring.   */  public void addNotify() {    super.addNotify();    measure();  }  /**   * Called by this object's container   * to determine the minimum space required by this object.    *   * @return the prefered size of the object   */	  public Dimension getPreferredSize() { return this.dim; }  /**   * Called by this object's container   * to determine the minimum space required by this object.    *   * @return the minimum size of the object   */  public Dimension getMinimumSize() { return this.dim; }   /**   * Calls the ColorField.paint to do the field.   * Then adds the text in black.   *   * @param g The graphics context to paint into.   */  public void paint(Graphics g) {    super.paint(g);    // draw the text    g.setColor(Color.black);    g.drawString(this.text,10,this.dim.height-10);      }}/* Comments: * * History: *     $Log: DisplayField.java,v $ *     Revision 1.1.1.1  2002/06/05 21:56:32  root *     CS101 comes to Olin finally. * *     Revision 1.4  1998/07/24 17:06:28  tparnell *     Placate new javadoc behavior * *     Revision 1.3  1998/07/22 18:18:36  tparnell *     migration from cs101.util to cs101.* * *     Revision 1.2  1998/06/03 19:32:20  tparnell *     update from Java 1.0 to 1.1 * *     Revision 1.1  1998/03/13 22:18:12  tparnell *     Import from server crash.  I think the src and class files match up. * *     Revision 1.4  1996/08/01 18:26:20  reuben *     More javadoc tweaking (hopefully the final pass) * *     Revision 1.3  1996/08/01 16:19:55  reuben *     Fixed javadoc problem with return. * *     Revision 1.2  1996/07/25 18:27:41  reuben *     Added all kinds of comments. *     Compiled and tested. * */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -