資源簡介
用界面實現了ism,很不錯的東西,支持支持,主要是圖形界面的實現。

代碼片段和文件信息
package?com.ism.Controller;
import?java.awt.Color;
import?java.awt.Graphics;
import?java.awt.Graphics2D;
import?java.awt.geom.GeneralPath;
import?java.util.ArrayList;
import?java.util.Dictionary;
import?java.util.Hashtable;
import?javax.swing.JPanel;
public?class?DrawGraph?extends?JPanel{
private?ArrayList>?Graph=new?ArrayList>();
private?String[]?KeyStr;
private?Dictionary?objectToPoint=new?Hashtable();
private?Dictionary>?causalPair=new?Hashtable>();
public?DrawGraph(ArrayList>?graphString[]?keyStrint[][]?InitArray){
KeyStr=keyStr;
Graph=graph;
for(int?i=0;i ArrayList?temcausal=new?ArrayList();//臨時因果關系
for(int?j=0;j {
if(InitArray[i][j]==1){
temcausal.add(j);
}
}
causalPair.put(i?temcausal);
}
}
public?void?paintComponent(Graphics?g)?{??
????????super.paintComponent(g);??
????????Graphics2D?g2?=?(Graphics2D)?g;??
????????g2.setPaint(Color.black);
????????for(int?i=0;i ???????? for(int?j=0;j ???????? Point?endpt=new?Point();????????
???????? int?l=Graph.get(i).get(j);
????????
???????? Point?startpt=new?Point();????????
???????? startpt.x=60*(j+1)+75*j+37;
???????? startpt.y=90*(i+1);
???????? objectToPoint.put(l?startpt);
???????? DrawEntity(startpt.x-37startpt.yKeyStr[l]g2);
???????? if(!causalPair.get(l).isEmpty()&&(causalPair.get(l).size()!=0)){
???????? for(int?k=0;k ???????? {
???????? objectToPoint.get(causalPair.get(l).get(k));
???????? endpt.x=objectToPoint.get(causalPair.get(l).get(k)).x;
???????? endpt.y=objectToPoint.get(causalPair.get(l).get(k)).y+30;
???????? DrawArrowLine(startpt.xstartpt.y?endpt.x?endpt.y?g2);
???????? }
????????
???????? }
????????
???????? }
????????}
//????????DrawEntity(2020“ok“g2);
//???? DrawArrowLine(8070?20?50?g2);//?這里x1?y1?x2?y2必須要聲明并且初始化,而具體聲明的位置和初始化的值??
????}??
//畫一個方框
public?static?void?DrawEntity(int?startx?int?starty?String?entityinfo?Graphics2D?g2)
{
g2.drawRoundRect(startx?starty?75?30?5?5);
g2.drawString(entityinfo?startx+10?starty+20);
}
//畫箭頭
?public?static?void?DrawArrowLine(int?startx?int?starty?int?endx?int?endy?Graphics2D?g2)??
????{?? ??
????????double?H?=?10;?//?箭頭高度??
????????double?L?=?4;?//?底邊的一半??
????????int?x3?=?0;??
????????int?y3?=?0;??
????????int?x4?=?0;??
????????int?y4?=?0;??
????????double?awrad?=?Math.atan(L?/?H);?//?箭頭角度??
????????double?arraow_len?=?Math.sqrt(L?*?L?+?H?*?H);?//?箭頭的長度??
????????double[]?arrXY_1?=?rotateVec(endx?-?startx?endy?-?starty?awrad?true?arraow_len);??
????????double[]?arrXY_2?=?rotateVec(endx?-?startx?endy?-?starty?-awrad?true?ar
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-09-28?10:24??ism\
?????文件?????????301??2012-09-28?10:24??ism\.classpath
?????文件?????????379??2012-09-28?10:24??ism\.project
?????目錄???????????0??2012-09-28?10:24??ism\.settings\
?????文件?????????598??2012-09-28?10:24??ism\.settings\org.eclipse.jdt.core.prefs
?????目錄???????????0??2012-09-28?15:05??ism\bin\
?????文件?????????101??2012-09-28?11:15??ism\bin\ap
?????目錄???????????0??2012-09-28?11:14??ism\bin\com\
?????目錄???????????0??2012-09-28?11:14??ism\bin\com\ism\
?????目錄???????????0??2012-10-09?21:44??ism\bin\com\ism\Controller\
?????文件?????????504??2012-10-10?09:10??ism\bin\com\ism\Controller\DrawGraph$Point.class
?????文件????????4888??2012-10-10?09:10??ism\bin\com\ism\Controller\DrawGraph.class
?????文件????????3024??2012-10-09?11:06??ism\bin\com\ism\Controller\MTableModel.class
?????目錄???????????0??2012-10-09?15:02??ism\bin\com\ism\entity\
?????文件????????5747??2012-10-10?08:32??ism\bin\com\ism\entity\ArrayEntity.class
?????目錄???????????0??2012-10-09?09:35??ism\bin\com\ism\fr
?????文件????????1165??2012-10-10?08:21??ism\bin\com\ism\fr
?????文件????????1180??2012-10-10?08:21??ism\bin\com\ism\fr
?????文件????????1054??2012-10-10?08:21??ism\bin\com\ism\fr
?????文件????????1661??2012-10-10?08:21??ism\bin\com\ism\fr
?????文件????????5874??2012-10-10?08:21??ism\bin\com\ism\fr
?????文件????????1070??2012-10-10?08:21??ism\bin\com\ism\fr
?????文件?????????141??2012-09-28?11:14??ism\bin\java.policy.ap
?????目錄???????????0??2012-09-28?15:05??ism\src\
?????目錄???????????0??2012-09-28?10:26??ism\src\com\
?????目錄???????????0??2012-09-28?10:29??ism\src\com\ism\
?????目錄???????????0??2012-10-09?14:28??ism\src\com\ism\Controller\
?????文件????????4770??2012-10-10?09:10??ism\src\com\ism\Controller\DrawGraph.java
?????文件????????2555??2012-10-09?10:49??ism\src\com\ism\Controller\MTableModel.java
?????目錄???????????0??2012-10-09?14:28??ism\src\com\ism\entity\
?????文件????????6069??2012-10-10?08:32??ism\src\com\ism\entity\ArrayEntity.java
............此處省略3個文件信息
- 上一篇:Java+ajax寫的登錄
- 下一篇:QR分解的Java實現
評論
共有 條評論