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

📄 link.java

📁 一个RIP协议模拟程序..在一个工作空间之内画上一些路由跟网络,再画上它们之间的连线.系统后台用一个线程实现模拟路由发送路由表信息.输出路由表的更新内容跟过程.
💻 JAVA
字号:
package network;

import java.awt.BasicStroke;
import java.awt.Graphics2D;
import java.awt.Stroke;
import java.awt.geom.Line2D;
import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
/**
 * 这个类用于存储两个结点的连线
 * 
 * */
public class Link {
	/**
	 *
	 */
	private Node n1,n2;
	private NetNode net;
	private String netName;
	private static int i=0;
	private static Stroke DOTTED_STROKE = new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 0.0f,new float[] { 3.0f, 3.0f }, 0.0f);
	public Link(NetNode n1,Node n2){
		this.net=n1;
		this.n2=n2;
		netName="link"+i;
		i++;
	}
	
	public NetNode getNetNode(){
		return this.net;
	}
	public Node getNode() {
		return n2;
	}

	public void setN1(Node n1) {
		this.n1 = n1;
	}

	public Node getN2() {
		return n2;
	}

	public void setN2(Node n2) {
		this.n2 = n2;
	}

	public String getNetName() {
		return netName;
	}

	public void setNetName(String netName) {
		this.netName = netName;
	}
	public boolean contains(Point2D p){
		return false;
	}
	
	public void draw(Graphics2D g){
		Stroke oldStroke = g.getStroke();
	    g.setStroke(DOTTED_STROKE);
	    g.draw(getConnectionPoints());
	    g.setStroke(oldStroke);
	}
	public Line2D getConnectionPoints(){
		Rectangle2D r2d1 = net.getBounds();
        Rectangle2D r2d2 = n2.getBounds();
        Point2D.Double d1=new Point2D.Double(r2d1.getCenterX(),r2d1.getCenterY());
        Point2D.Double d2=new Point2D.Double(r2d2.getCenterX(),r2d2.getCenterY());
		return new Line2D.Double(d1,d2);
	}
	public boolean equals(Object o){
		if(o==null){
			return false;
		}
		if(o instanceof Link){
			Link l=(Link)o;
			if(l.getNetName().equals(netName)){
				return true;
			}
		}
		return false;
	}
	
}

⌨️ 快捷键说明

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