You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.4 KiB
Java

// TraverseTransmission.java
package simulator;
import java.awt.*; // import Java AWT classes
import support.*; // import Jasper protocol event
/**
This is the class for a traverse transmission arrow.
@author Kenneth J. Turner
@version 1.5 (22nd July 2010, KJT): minor tidying
*/
public class TraverseTransmission extends TransmissionSymbol {
/** Number of columns to traverse */
private int columns;
/**
Constructor for a traverse transmission arrow.
@param event protocol event
@param lToR true = left-to-right
@param source source column
@param columns columns
@param top top of service primitive
@param height height of successful transmission
*/
public TraverseTransmission(
ProtocolEvent event, boolean lToR, int source, int columns, int top,
int height) {
super(event, lToR, source, top, height);
this.columns = columns;
}
/**
Paint the traverse transmission as a dashed line representing transmission
across the intervening columns.
@param g graphics object
*/
public void draw(Graphics g) {
int leftX = inset + col * columnWidth + arrowWidth / 2;
int rightX = leftX + columns*columnWidth - arrowWidth;
g.setColor(Color.blue);
if (lToR)
drawDashedLine(g, leftX, top, rightX, top + height, dashLength);
else
drawDashedLine(g, rightX, top, leftX, top + height, dashLength);
g.setColor(Color.black);
}
}