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

📄 component.java

📁 telnetD源代码
💻 JAVA
字号:
//License/*** * Java TelnetD library (embeddable telnet daemon) * Copyright (c) 2000-2005 Dieter Wimberger  * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are * met: * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * Neither the name of the author nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. *   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS ``AS * IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE  * POSSIBILITY OF SUCH DAMAGE. ***/
package net.wimpi.telnetd.io.toolkit;

import net.wimpi.telnetd.io.BasicTerminalIO;

import java.io.IOException;

/**
 * Class that represents an abstract toolkit component.
 *
 * @author Dieter Wimberger
 * @version 2.0 (13/03/2005)
 */
public abstract class Component {

  protected String m_Name;
  protected BasicTerminalIO m_IO;
  protected Point m_Position;
  protected Dimension m_Dim;

  /**
   * Constructor for an abstract toolkit component.
   *
   * @param io   Instance of a class implementing the BasicTerminalIO.
   * @param name String that represents the components name.
   */
  public Component(BasicTerminalIO io, String name) {
    m_IO = io;
    m_Name = name;
  }//constructor


  /**
   * Method that draws the component.
   */
  public abstract void draw() throws IOException;

  /**
   * Accessor method for the name property of a component.
   *
   * @return String that represents the components name.
   */
  public String getName() {
    return m_Name;
  }//getName


  /**
   * Accessor method for a components location.
   *
   * @return Point that encapsulates the location.
   */
  public Point getLocation() {
    return m_Position;
  }//getLocation

  /**
   * Mutator method for a components location.
   *
   * @param pos Point that encapsulates the (new) Location.
   */
  public void setLocation(Point pos) {
    m_Position = pos;
  }//setLocation


  /**
   * Convenience mutator method for a components location.
   *
   * @param col int that represents a column coordinate.
   * @param row int that represents a row coordinate.
   */
  public void setLocation(int col, int row) {
    if (m_Position != null) {
      m_Position.setColumn(col);
      m_Position.setRow(row);
    } else {
      m_Position = new Point(col, row);
    }
  }//set Location


  /**
   * Accessor method for a components dimension.
   *
   * @return Dimension that encapsulates the dimension in cols and rows.
   */
  public Dimension getDimension() {
    return m_Dim;
  }//getDimension


  /**
   * Mutator method for a components dimension.
   *
   * @param dim Dimension that encapsulates the dimension in cols and rows.
   */
  protected void setDimension(Dimension dim) {
    m_Dim = dim;
  }//setDimension


}//class Component

⌨️ 快捷键说明

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