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

📄 edge.java

📁 wekaUT是 university texas austin 开发的基于weka的半指导学习(semi supervised learning)的分类器
💻 JAVA
字号:
/* *    This program is free software; you can redistribute it and/or modify *    it under the terms of the GNU General Public License as published by *    the Free Software Foundation; either version 2 of the License, or *    (at your option) any later version. * *    This program is distributed in the hope that it will be useful, *    but WITHOUT ANY WARRANTY; without even the implied warranty of *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *    GNU General Public License for more details. * *    You should have received a copy of the GNU General Public License *    along with this program; if not, write to the Free Software *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *//* *    Edge.java *    Copyright (C) 1999 Malcolm Ware * */package weka.gui.treevisualizer;import java.util.*;import java.awt.*;/** * This class is used in conjunction with the Node class to form a tree  * structure. * This in particular contains information about an edges in the tree. * * @author Malcolm Ware (mfw4@cs.waikato.ac.nz) * @version $Revision: 1.1.1.1 $  */public class Edge {  /** The text caption for the edge. */  private String m_label;  /** The ID string of the parent Node of this edge (used for consrtuction    * purposes). */  private String m_rsource;  /** The ID string of the child Node of this edge (used for construction    * purposes). */  private String m_rtarget;  /** The parent Node of this edge. */  private Node m_source;  /** The child Node of this edge. */  private Node m_target;  /** The label broken up into lines. */  private Vector m_lines;  /**    * This constructs an Edge with the specified label    * and parent , child serial tags.   *   * @param label The text caption for the edge.   * @param source The ID string for this edges parent.   * @param target The ID string for this edges child.   */  public Edge(String label,String source,String target) {    m_label = label;    m_rsource = source;    m_rtarget = target;    m_lines = new Vector(3,2);    breakupLabel();  }    /**   * Get the value of label.   *   * @return Value of label.   */  public String getLabel() {        return m_label;  }    /**   * This function is called to break the label of the edge up in to    * seperate lines   */  private void breakupLabel() {    int prev = 0,noa;    for (noa = 0;noa < m_label.length();noa++) {      if (m_label.charAt(noa) == '\n') {	m_lines.addElement(m_label.substring(prev,noa));	prev = noa+1;      }    }    m_lines.addElement(m_label.substring(prev,noa));  }    /**   * This will calculate how large a rectangle using the <i>FontMetrics</i>   * passed that the lines of the label will take up   *   * @param f The size information for a particular Font   * @return A Dimension containing the size and width of the text   */  public Dimension stringSize(FontMetrics f) {    Dimension d = new Dimension();    int old = 0;    String s;    int noa = 0;    while ((s = getLine(noa)) != null) {      noa++;      old = f.stringWidth(s);            if (old > d.width) {	d.width = old;      }    }    d.height = noa * f.getHeight();    return d;  }   /**   * Returns line number <i>n</i>   *   * @param n The number of the line requested   * @return The string for the line number or NULL if it didn't exist   */   public String getLine(int n) {    if (n < m_lines.size()) {      return (String)m_lines.elementAt(n);    }    else {      return null;    }  }      /**   * Get the value of rsource.   *   * @return Value of rsource.   */  public String getRsource() {        return m_rsource;  }    /**   * Set the value of rsource.   *   * @param v  Value to assign to rsource.   */  public void setRsource(String v) {        m_rsource = v;  }        /**   * Get the value of rtarget.   *   * @return Value of rtarget.   */  public String getRtarget() {        return m_rtarget;  }    /**   * Set the value of rtarget.   *   * @param v Value to assign to rtarget.   */  public void setRtarget(String v) {        m_rtarget = v;  }    /**   * Get the value of source.   *   * @return Value of source.   */  public Node getSource() {        return m_source;  }    /**   * Set the value of source. And then call v.addChild to add the edge to    * the Node.   *   * @param v  Value to assign to source.   */  public void setSource(Node v) {        m_source = v;    v.addChild(this);  }    /**   * Get the value of target.   *   * @return Value of target.   */  public Node getTarget() {        return m_target;  }    /**   * Set the value of target. And then call v.addParent to add the edge to    * the Node.   *   * @param v Value to assign to target.   */  public void setTarget(Node v) {        m_target = v;    v.setParent(this);  }}

⌨️ 快捷键说明

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