CodeForge.comFree Open Source Codes Forge and Sharing |
package com.sunking.tp.framework;
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.geom.*;
import java.util.*;
/**
* <p>Title: </p>
* <p>Description: 连线</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author <a href="mailto:sunkingxie@hotmail.com">SunKing</a>
* @version 1.0
* @see Assoicator
*/
public class AssoicatorLine extends Line2D.Double implements java.io.Serializable{
private static final long serialVersionUID = -3000000000000000003L;
/**
*连线的源和目录
*/
public JTPComponent source,dest;
/**
*连线类型
*/
private int associateType;
/**
*连线修饰器
*/
private Vector vecRenderer = new Vector();
/**
*
* @param source 连线源
* @param associator 连接器
*/
public AssoicatorLine(JTPComponent source,Assoicator associator){
dest = associator.getAssoicator();
associateType = associator.getAssociateType();
this.source = source;
setLinePoints((Component)source,(Component)dest);
addRenderer(new Arrow(this));
}
/**
*取得连接源
* @return
*/
public JTPComponent getSource(){
return source;
}
/**
*取得连接目标
* @return
*/
public JTPComponent getDest(){
return dest;
}
/**
*取得连接类型
* @return
*/
public int getAssociateType(){
return associateType;
}
/**
*判断是否包含一个点,主要用于点击时的选取动作
* @param p
* @return
*/
public boolean contains(Point2D p) {
return contains((int)p.getX(),(int)p.getY());
}
public boolean contains(int x, int y) {
return insideSegment(x,y,(int)getX1(),(int)getY1(),(int)getX2(),(int)getY2());
}
protected boolean insideSegment(int x, int y, int x0, int y0, int x1, int y1) {
if (x1 == x0)
return (x == x0) && (y >= Math.min(y0,y1)) && (y <= Math.max(y0,y1));
Rectangle bounds = new Rect
...
...
... to be continued.
This is a preview. To get the complete source file,
please click here to download the whole source code package.
| Name | Size | Date |
| 0.00 B | 07-03-06 20:01 | |
| 0.00 B | 07-03-06 20:01 | |
| 3.36 kB | 30-07-03 18:20 | |
| 1.39 kB | 30-07-03 19:08 | |
| 406.16 kB | 24-09-03 11:05 | |
| 1,009.00 B | 30-07-03 18:17 | |
| 6.47 kB | 28-09-03 17:48 | |
| 2.79 kB | 28-09-03 18:00 | |
| 0.00 B | 07-03-06 20:01 | |
| 1.73 kB | 28-09-03 17:11 | |
| 1.19 kB | 28-09-03 17:43 | |
| 2.09 kB | 28-09-03 17:43 | |
| 1.66 kB | 28-09-03 17:43 | |
| 1.57 kB | 28-09-03 17:43 | |
| 1.57 kB | 28-09-03 17:43 | |
| 1.57 kB | 28-09-03 17:43 | |
| 5.69 kB | 28-09-03 14:12 | |
| 910.00 B | 28-09-03 17:08 | |
| 0.00 B | 07-03-06 20:01 | |
| 0.00 B | 07-03-06 20:01 | |
| 0.00 B | 07-03-06 20:01 | |
| 0.00 B | 07-03-06 20:01 | |
| 6.66 kB | 24-09-03 11:40 | |
| 9.46 kB | 28-09-03 16:59 | |
| 5.43 kB | 28-09-03 17:13 | |
| 798.00 B | 28-09-03 13:52 | |
| 480.00 B | 28-09-03 17:00 | |
| 5.00 kB | 28-09-03 17:44 | |
| 6.00 kB | 28-09-03 14:49 | |
| 4.21 kB | 10-03-06 14:17 | |
| 1.28 kB | 10-03-06 14:17 | |
| 1.75 kB | 10-03-06 14:17 | |
| 1.74 kB | 10-03-06 14:17 | |
| 226.00 B | 10-03-06 14:17 | |
| 3.70 kB | 10-03-06 14:17 | |
| 274.00 B | 10-03-06 14:17 | |
| 909.00 B | 10-03-06 14:17 | |
| 2.70 kB | 10-03-06 14:17 | |
| 2.36 kB | 10-03-06 14:17 | |
| 2.71 kB | 10-03-06 14:17 | |
| 3.03 kB | 10-03-06 14:17 | |
| 0.00 B | 07-03-06 20:01 | |
| 1.41 kB | 28-09-03 14:31 | |
| 1.21 kB | 28-09-03 14:13 | |
| 1.80 kB | 28-09-03 17:41 | |
| 1.71 kB | 28-09-03 14:36 | |
| 1.74 kB | 28-09-03 14:15 | |
| 3.15 kB | 28-09-03 16:54 | |
| 1.87 kB | 28-09-03 14:18 | |
| 1.31 kB | 28-09-03 14:35 | |
| 1.79 kB | 10-03-06 14:17 | |
| 1.56 kB | 10-03-06 14:17 | |
| 1.40 kB | 10-03-06 14:17 | |
| 1.51 kB | 10-03-06 14:17 | |
| 2.53 kB | 10-03-06 14:17 | |
| 1.34 kB | 10-03-06 14:17 | |
| 1.56 kB | 10-03-06 14:17 | |
| 1.58 kB | 10-03-06 14:17 | |
| 0.00 B | 07-03-06 20:01 | |
| 4.26 kB | 30-07-03 18:34 | |
| 4.66 kB | 28-09-03 14:43 | |
| 1.60 kB | 28-09-03 17:59 | |
| 1.46 kB | 28-09-03 14:43 | |
| 955.00 B | 28-09-03 14:44 | |
| 3.07 kB | 28-09-03 17:14 | |
| 1.12 kB | 28-09-03 14:45 | |
| 905.00 B | 28-09-03 14:39 | |
| 1.73 kB | 28-09-03 14:38 | |
| 1.47 kB | 28-09-03 14:42 | |
| 1.68 kB | 28-09-03 14:40 | |
| 4.85 kB | 28-09-03 14:46 | |
| 2.00 kB | 25-09-03 11:20 | |
| 2.21 kB | 30-07-03 18:53 | |
| 952.00 B | 10-03-06 14:17 | |
| 1.05 kB | 10-03-06 14:17 | |
| 3.10 kB | 10-03-06 14:17 | |
| 2.13 kB | 10-03-06 14:17 | |
| 2.05 kB | 10-03-06 14:17 | |
| 2.98 kB | 10-03-06 14:17 | |
| 4.00 kB | 10-03-06 14:17 | |
| 1.26 kB | 10-03-06 14:17 | |
| 1.28 kB | 10-03-06 14:17 | |
| 1.88 kB | 10-03-06 14:17 | |
| 1.64 kB | 10-03-06 14:17 | |
| 3.96 kB | 10-03-06 14:17 | |
| 1.87 kB | 10-03-06 14:17 | |
| 1.51 kB | 10-03-06 14:17 | |
| 0.00 B | 07-03-06 20:01 | |
| 2.36 kB | 25-09-03 11:16 | |
| 5.24 kB | 28-09-03 12:55 | |
| 4.07 kB | 28-09-03 17:37 | |
| 10.25 kB | 28-09-03 13:37 | |
| 1.24 kB | 28-09-03 17:02 | |
| 1.85 kB | 25-09-03 11:16 | |
| 6.74 kB | 10-03-06 14:17 | |
| 3.90 kB | 10-03-06 14:17 | |
| 2.18 kB | 10-03-06 14:17 | |
| 1.79 kB | 10-03-06 14:17 | |
| 1.45 kB | 10-03-06 14:17 | |
| 3.09 kB | 10-03-06 14:17 | |
| 0.00 B | 07-03-06 20:01 | |
| 0.00 B | 07-03-06 20:01 | |
| 4.30 kB | 25-09-03 11:15 | |
| 1.53 kB | 25-09-03 11:15 | |
| 4.61 kB | 25-09-03 11:15 | |
| 2.28 kB | 28-09-03 13:37 | |
| 1.71 kB | 28-09-03 12:50 | |
| 1.82 kB | 30-07-03 18:38 | |
| 172.00 B | 30-07-03 18:39 | |
| 368.00 B | 25-09-03 11:20 | |
| 1.22 kB | 10-03-06 14:17 | |
| 3.67 kB | 10-03-06 14:17 | |
| 222.00 B | 10-03-06 14:17 | |
| 831.00 B | 10-03-06 14:17 | |
| 967.00 B | 10-03-06 14:17 | |
| 199.00 B | 10-03-06 14:17 | |
| 2.14 kB | 10-03-06 14:17 | |
| 182.00 B | 10-03-06 14:17 | |
| 616.00 B | 10-03-06 14:17 | |
| 683.00 B | 10-03-06 14:17 | |
| 2.30 kB | 10-03-06 14:17 | |
| 633.00 B | 13-03-06 18:42 | |
| 5.46 kB | 13-03-06 18:42 | |
| 1.06 kB | 13-03-06 18:42 | |
| 0.00 B | 07-03-06 20:01 | |
| 1.40 kB | 28-09-03 17:42 | |
| 1.39 kB | 28-09-03 17:43 | |
| 1.24 kB | 28-09-03 17:42 | |
| 1.22 kB | 28-09-03 17:43 | |
| 0.00 B | 07-03-06 20:01 | |
| 46.00 B | 05-08-03 11:28 | |
| 5.00 kB | 24-09-03 10:48 | |
| 0.00 B | 07-03-06 20:01 | |
| 83.00 B | 21-07-03 15:22 | |
| 90.00 B | 28-07-03 09:46 | |
| 89.00 B | 28-07-03 09:47 | |
| 19.45 kB | 16-07-03 10:36 | |
| 93.00 B | 30-11-02 17:49 | |
| 134.00 B | 30-11-02 17:42 | |
| 132.00 B | 30-11-02 17:39 | |
| 100.00 B | 30-11-02 17:38 | |
| 149.00 B | 21-07-03 15:24 | |
| 1.30 kB | 24-09-03 11:01 | |
| 104.00 B | 24-09-03 11:02 | |
| 126.00 B | 24-09-03 11:04 | |
| 177.00 B | 30-11-02 17:39 | |
| 101.00 B | 30-11-02 17:37 | |
| 130.00 B | 26-11-02 17:28 | |
| 117.00 B | 30-11-02 17:43 | |
| 150.00 B | 21-07-03 15:23 | |
| 103.00 B | 30-11-02 17:38 | |
| 34.00 kB | 10-03-06 14:17 | |
| 0.00 B | 07-03-06 20:01 | |
| 23.00 kB | 16-06-03 13:26 | |
| 154.00 B | 16-06-03 13:43 | |
| 152.00 B | 16-06-03 13:43 | |
| 20.00 kB | 16-06-03 13:16 | |
| 20.00 kB | 16-06-03 13:16 | |
| 593.00 B | 16-06-03 13:08 | |
| 1.26 kB | 16-06-03 13:08 | |
| 1.35 kB | 16-06-03 13:08 | |
| 932.00 B | 16-06-03 13:09 | |
| 0.00 B | 07-03-06 20:01 | |
| 2.78 kB | 16-06-03 13:21 | |
| 1.16 kB | 16-06-03 13:07 | |
| 961.00 B | 16-06-03 13:21 | |
| 0.00 B | 07-03-06 20:01 | |
| 28.92 kB | 31-10-03 14:08 | |
| 27.33 kB | 14-11-03 23:57 | |
| 0.00 B | 13-03-06 18:22 | |
| 55.00 B | 31-10-03 14:08 | |
| 0.00 B | 13-03-06 18:22 | |
| 1.25 kB | 31-10-03 14:08 | |
| 1.25 kB | 31-10-03 14:08 | |
| 1.25 kB | 31-10-03 14:08 | |
| 1.25 kB | 31-10-03 14:08 | |
| 1.02 kB | 31-10-03 14:08 | |
| 1.02 kB | 31-10-03 14:08 | |
| 5.08 kB | 31-10-03 14:08 | |
| 6.48 kB | 31-10-03 14:08 | |
| 3.44 kB | 31-10-03 14:08 | |
| 4.10 kB | 31-10-03 14:08 | |
| 1.42 kB | 31-10-03 14:08 | |
| 1.85 kB | 31-10-03 14:08 | |
| 1.04 kB | 31-10-03 14:08 | |
| 1.05 kB | 31-10-03 14:08 | |
| 2.71 kB | 31-10-03 14:08 | |
| 2.92 kB | 31-10-03 14:08 | |
| 742.00 B | 31-10-03 14:08 | |
| 1.77 kB | 31-10-03 14:08 | |
| 1.59 kB | 31-10-03 14:08 | |
| 4.30 kB | 31-10-03 14:08 | |
| 6.18 kB | 31-10-03 14:08 | |
| 1.43 kB | 31-10-03 14:08 | |
| 721.00 B | 31-10-03 14:08 | |
| 2.35 kB | 31-10-03 14:08 | |
| 3.84 kB | 31-10-03 14:08 | |
| 0.00 B | 13-03-06 18:22 | |
| 1.18 kB | 13-03-06 18:22 | |
| 987.00 B | 13-03-06 18:24 | |
| 7.50 kB | 20-08-08 23:03 |