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

📄 textarea.java

📁 linux下建立JAVA虚拟机的源码KAFFE
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* TextArea.java -- A multi-line text entry component   Copyright (C) 1999, 2004 Free Software Foundation, Inc.This file is part of GNU Classpath.GNU Classpath is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2, or (at your option)any later version.GNU Classpath is distributed in the hope that it will be useful, butWITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNUGeneral Public License for more details.You should have received a copy of the GNU General Public Licensealong with GNU Classpath; see the file COPYING.  If not, write to theFree Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA02110-1301 USA.Linking this library statically or dynamically with other modules ismaking a combined work based on this library.  Thus, the terms andconditions of the GNU General Public License cover the wholecombination.As a special exception, the copyright holders of this library give youpermission to link this library with independent modules to produce anexecutable, regardless of the license terms of these independentmodules, and to copy and distribute the resulting executable underterms of your choice, provided that you also meet, for each linkedindependent module, the terms and conditions of the license of thatmodule.  An independent module is a module which is not derived fromor based on this library.  If you modify this library, you may extendthis exception to your version of the library, but you are notobligated to do so.  If you do not wish to do so, delete thisexception statement from your version. */package java.awt;import java.awt.event.KeyEvent;import java.awt.peer.ComponentPeer;import java.awt.peer.TextAreaPeer;import java.util.HashSet;import java.util.Set;import javax.accessibility.AccessibleContext;import javax.accessibility.AccessibleStateSet;/** * A TextArea is a text component capable of displaying multiple lines * of user-editable text.  A TextArea handles its own scrolling and * can display vertical and horizontal scrollbars as navigation aids. * * @author Aaron M. Renn (arenn@urbanophile.com) */public class TextArea extends TextComponent implements java.io.Serializable{  /**   * Display both horiztonal and vertical scroll bars.   */  public static final int SCROLLBARS_BOTH = 0;  /**   * Display vertical scroll bar only.   */  public static final int SCROLLBARS_VERTICAL_ONLY = 1;  /**   * Display horizatonal scroll bar only.   */  public static final int SCROLLBARS_HORIZONTAL_ONLY = 2;  /**   * Do not display scrollbars.   */  public static final int SCROLLBARS_NONE = 3;  /**   * Serialization constant.   */  private static final long serialVersionUID = 3692302836626095722L;  /**   * @serial The number of columns used in this text area's preferred   * and minimum size calculations.   */  private int columns;  /**   * @serial The number of rows used in this text area's preferred and   * minimum size calculations.   */  private int rows;  /**   * @serial The scrollbar display policy.  One of SCROLLBARS_BOTH,   * SCROLLBARS_VERTICAL_ONLY, SCROLLBARS_HORIZONTAL_ONLY,   * SCROLLBARS_NONE.   */  private int scrollbarVisibility;  /*   * The number used to generate the name returned by getName.   */  private static transient long next_text_number;  /**   * Initialize a new instance of <code>TextArea</code> that is empty.   * Conceptually the <code>TextArea</code> has 0 rows and 0 columns   * but its initial bounds are defined by its peer or by the   * container in which it is packed.  Both horizontal and vertical   * scrollbars will be displayed.   *   * @exception HeadlessException if GraphicsEnvironment.isHeadless () is true   */  public TextArea ()  {    this ("", 0, 0, SCROLLBARS_BOTH);  }  /**   * Initialize a new instance of <code>TextArea</code> that contains   * the specified text.  Conceptually the <code>TextArea</code> has 0   * rows and 0 columns but its initial bounds are defined by its peer   * or by the container in which it is packed.  Both horizontal and   * veritcal scrollbars will be displayed.   *   * @param text The text to display in this text area.   *   * @exception HeadlessException if GraphicsEnvironment.isHeadless () is true   */  public TextArea (String text)  {    this (text, 0, 0, SCROLLBARS_BOTH);  }  /**   * Initialize a new instance of <code>TextArea</code> that is empty   * and can display the specified number of rows and columns of text,   * without the need to scroll.  Both horizontal and vertical   * scrollbars will be displayed.   *   * @param rows The number of rows in this text area.   * @param columns The number of columns in this text area.   *   * @exception HeadlessException if GraphicsEnvironment.isHeadless () is true   */  public TextArea (int rows, int columns)  {    this ("", rows, columns, SCROLLBARS_BOTH);  }  /**   * Initialize a new instance of <code>TextArea</code> that can   * display the specified number of rows and columns of text, without   * the need to scroll.  The TextArea initially contains the   * specified text.   *   * @param text The text to display in this text area.   * @param rows The number of rows in this text area.   * @param columns The number of columns in this text area.   *   * @exception HeadlessException if GraphicsEnvironment.isHeadless () is true   */  public TextArea (String text, int rows, int columns)  {    this (text, rows, columns, SCROLLBARS_BOTH);  }  /**   * Initialize a new instance of <code>TextArea</code> that initially   * contains the specified text.  The TextArea can display the   * specified number of rows and columns of text, without the need to   * scroll.  This constructor allows specification of the scroll bar   * display policy.   *   * @param text The text to display in this text area.   * @param rows The number of rows in this text area.   * @param columns The number of columns in this text area.   * @param scrollbarVisibility The scroll bar display policy. One of   * SCROLLBARS_BOTH, SCROLLBARS_VERTICAL_ONLY,   * SCROLLBARS_HORIZONTAL_ONLY, SCROLLBARS_NONE.   *   * @exception HeadlessException if GraphicsEnvironment.isHeadless () is true   */  public TextArea (String text, int rows, int columns, int scrollbarVisibility)  {    super (text);    if (GraphicsEnvironment.isHeadless ())      throw new HeadlessException ();    if (rows < 0 || columns < 0)      throw new IllegalArgumentException ("Bad row or column value");    if (scrollbarVisibility != SCROLLBARS_BOTH        && scrollbarVisibility != SCROLLBARS_VERTICAL_ONLY        && scrollbarVisibility != SCROLLBARS_HORIZONTAL_ONLY        && scrollbarVisibility != SCROLLBARS_NONE)      throw new IllegalArgumentException ("Bad scrollbar visibility value");    this.rows = rows;    this.columns = columns;    this.scrollbarVisibility = scrollbarVisibility;    // TextAreas need to receive tab key events so we override the    // default forward and backward traversal key sets.    Set s = new HashSet ();    s.add (AWTKeyStroke.getAWTKeyStroke (KeyEvent.VK_TAB,                                         KeyEvent.CTRL_DOWN_MASK));    setFocusTraversalKeys (KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, s);    s = new HashSet ();    s.add (AWTKeyStroke.getAWTKeyStroke (KeyEvent.VK_TAB,                                         KeyEvent.SHIFT_DOWN_MASK                                         | KeyEvent.CTRL_DOWN_MASK));    setFocusTraversalKeys (KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, s);  }  /**   * Retrieve the number of columns that this text area would prefer   * to display.  This value may or may not correspond to the number   * of columns that are actually displayed.   *   * @return The preferred number of columns.   */  public int getColumns ()  {    return columns;  }  /**   * Set the preferred number of columns for this text area.  This   * method does not cause the number of columns displayed by the text   * area to be updated, if the text area is currently visible.   *   * @param columns The preferred number of columns.   *   * @exception IllegalArgumentException If columns is less than zero.   */  public synchronized void setColumns (int columns)  {    if (columns < 0)      throw new IllegalArgumentException ("Value is less than zero: "                                          + columns);    this.columns = columns;  }  /**   * Retrieve the number of rows that this text area would prefer to   * display.  This value may or may not correspond to the number of   * rows that are actually displayed.   *   * @return The preferred number of rows.   */  public int getRows ()  {    return rows;  }  /**   * Set the preferred number of rows for this text area.  This method   * does not cause the number of columns displayed by the text area   * to be updated, if the text area is currently visible.   *   * @param rows The preferred number of rows.   *   * @exception IllegalArgumentException If rows is less than zero.   */  public synchronized void setRows (int rows)  {    if (rows < 1)      throw new IllegalArgumentException ("Value is less than one: " + rows);    this.rows = rows;  }  /**   * Retrieve the minimum size for this text area, considering the   * text area's current row and column values.  A text area's minimum   * size depends on the number of rows and columns of text it would   * prefer to display, and on the size of the font in which the text   * would be displayed.   *   * @return The minimum size for this text field.   */  public Dimension getMinimumSize ()  {    return getMinimumSize (getRows (), getColumns ());  }  /**   * Retrieve the minimum size that this text area would have if its   * row and column values were equal to those specified.  A text   * area's minimum size depends on the number of rows and columns of   * text it would prefer to display, and on the size of the font in   * which the text would be displayed.   *   * @param rows The number of rows to use in the minimum size   * calculation.   * @param columns The number of columns to use in the minimum size   * calculation.   *   * @return The minimum size for this text area.   */  public Dimension getMinimumSize (int rows, int columns)  {    return minimumSize (rows, columns);  }  /**   * Retrieve the minimum size for this text area, considering the   * text area's current row and column values.  A text area's minimum   * size depends on the number of rows and columns of text it would

⌨️ 快捷键说明

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