📄 tomap.java
字号:
}
g.setColor(Color.BLACK);
this.drawTracksPoint(xTemp, yTemp, g);
if(drawBegin == true){
g.setColor(Color.BLUE);
this.drawTracksPointLine(lastX,lastY,xTemp,yTemp,g);
}
drawBegin = true;
lastX = xTemp;
lastY = yTemp;
}
this.drawTrackLine =true;
}
}
/**
* 加颜色
*/
public void drawTrackLine(Graphics g, Node trackNode,Color color) {
//这里单独绘制一条航迹,如果要画多条,继续调用此方法就行
NodeList nl;
boolean drawBegin = false;
String xTemp = "0.0", yTemp = "0.0",lastX = "0.0", lastY = "0.0";
if (trackNode != null) {
nl = ItemValue.getTracksPoint(trackNode);
for (int j = 0; j < nl.getLength(); j++) {
xTemp = ItemValue.getTracksPointX(nl.item(j));
yTemp = ItemValue.getTracksPointY(nl.item(j));
if(j == ((int)nl.getLength()/2)){
this.drawTrackName(xTemp,yTemp,ItemValue.getTracksName(trackNode)+ "[" + ItemValue.getTracks_ld_original_number(trackNode)+"]",g);
}
g.setColor(Color.BLACK);
this.drawTracksPoint(xTemp, yTemp, g);
if(drawBegin == true){
g.setColor(color);
this.drawTracksPointLine(lastX,lastY,xTemp,yTemp,g);
}
drawBegin = true;
lastX = xTemp;
lastY = yTemp;
}
this.drawTrackLine =true;
}
}
private void drawTrackName(String x,String y,String name,Graphics g){
g.setColor(Color.LIGHT_GRAY);
double xt1 = (Double.parseDouble(x)-x2);
double yt1 = (y1-Math.abs(Double.parseDouble(y)));
xt1 = xt1*scale;
yt1 = yt1*scale;
int x1 = Integer.parseInt((new Double(xt1)).longValue()+"");
int y1 = Integer.parseInt((new Double(yt1)).longValue()+"");
g.drawString(name,x1+h+8,y1+w+8);
}
public void drawTaddedTrackLine(Graphics g, Node trackNode) {
//这里单独绘制一条航迹,如果要画多条,继续调用此方法就行
NodeList nl;
boolean drawBegin = false;
String xTemp = "0.0", yTemp = "0.0",lastX = "0.0", lastY = "0.0";
if (trackNode != null) {
nl = ItemValue.getTracksPoint(trackNode);
for (int j = 0; j < nl.getLength(); j++) {
xTemp = ItemValue.getTracksPointX(nl.item(j));
yTemp = ItemValue.getTracksPointY(nl.item(j));
g.setColor(Color.RED);
this.drawTracksPoint(xTemp, yTemp, g);
if(drawBegin == true){
g.setColor(Color.RED);
this.drawTracksPointLine(lastX,lastY,xTemp,yTemp,g);
}
drawBegin = true;
lastX = xTemp;
lastY = yTemp;
}
this.drawTrackLine =true;
}
}
public void drawTrackBEPoint(Graphics g, Node trackNode,boolean begin) {
g.setColor(Color.BLUE);
NodeList nl = null;
String xTemp = "0.0", yTemp = "0.0";
if (trackNode != null) {
nl = ItemValue.getTracksPoint(trackNode);
if(nl == null){
return;
}
if(begin == true){
xTemp = ItemValue.getTracksPointX(nl.item(0));
yTemp = ItemValue.getTracksPointY(nl.item(0));
this.drawTracksBEPoint(xTemp, yTemp, g,begin);
}else{
xTemp = ItemValue.getTracksPointX(nl.item(nl.getLength()-1));
yTemp = ItemValue.getTracksPointY(nl.item(nl.getLength()-1));
this.drawTracksBEPoint(xTemp, yTemp, g,begin);
}
//System.out.println(begin?"开始":"结束");
}
}
public void drawWaypoint(Graphics g){
Node[] allwpt = ItemValue.getWaypoint();
NodeList nl;
String xTemp ="0.0",yTemp="0.0",text="";
if(allwpt != null){
for (int i = 0; i < allwpt.length; i++) {
xTemp = ItemValue.getWaypointX(allwpt[i]);
yTemp = ItemValue.getWaypointY(allwpt[i]);
text = ItemValue.getWaypointName(allwpt[i]);
this.drawWaypointPoint(xTemp,yTemp,text,g,"");
}
}
}
public void drawWaypoint(Graphics g,Node node,String id){
String xTemp = "0.0", yTemp = "0.0";
xTemp = ItemValue.getWaypointX(node);
yTemp = ItemValue.getWaypointY(node);
if(id.equals("")){
this.drawWaypointPoint(xTemp, yTemp, ItemValue.getWaypointName(node), g,ItemValue.getWaypointKP(node));
}else{
this.drawWaypointPoint(xTemp, yTemp, ItemValue.getWaypointName(node) + "["+id+"]",
g,ItemValue.getWaypointKP(node));
}
}
private void drawWaypointPoint(String xtemp,String ytemp,String text,Graphics g,String type){
drawWaypoint = true;
double xt = (Double.parseDouble(xtemp)-x2);
double yt = (y1-Math.abs(Double.parseDouble(ytemp)));
xt = xt*scale;
yt = yt*scale;
int x = Integer.parseInt((new Double(xt)).longValue()+"");
int y = Integer.parseInt((new Double(yt)).longValue()+"");
//g.setColor(Color.GREEN);
//画点
//System.out.println("画点"+"g.drawOval("+(x+h-3)+","+(y+w-3)+",6,6)");
if(type.equals(WptType.W1XingZhengCun)){
g.setColor(Color.RED);
//g.drawOval(x+h-4,y+w-4,8,8);
//g.fillOval(x+h-2,y+w-2,4,4);
g.drawString(WptType.W1,x+h-8,y+w+4);
}else if(type.equals(WptType.W2ZiRanCun)){
g.setColor(Color.RED);
g.drawString(WptType.W2,x+h-8,y+w+4);
}else if(type.equals(WptType.W12_xiangzhen)){
g.setColor(Color.RED);
g.drawString(WptType.W12,x+h-8,y+w+4);
}
else if(type.equals(WptType.W3QiaoLiang)){
g.setColor(Color.BLUE);
g.drawString(WptType.W3,x+h-8,y+w+4);
}else if(type.equals(WptType.W5HanDong)){
g.setColor(Color.BLUE);
g.drawString(WptType.W5,x+h-8,y+w+4);
}else if(type.equals(WptType.W6DuKou)){
g.setColor(Color.BLUE);
g.drawString(WptType.W6,x+h-8,y+w+4);
}else if(type.equals(WptType.W7JiaoHui)){
g.setColor(Color.BLACK);
g.drawString(WptType.W7,x+h-8,y+w+4);
}else{
g.setColor(Color.GRAY);
g.drawOval(x+h-3,y+w-3,6,6);
g.fillOval(x + h - 3, y + w - 3, 6, 6);
}
//System.out.println("drawWaypointPoint:x="+x+",h="+h+",x+h="+(x+h)+",y="+y+",w="+w+",y+w="+(y+w));
if(!text.equals("")){
g.setColor(Color.BLACK);
g.drawString(text, x + h + 4, y + w + 4);
}
//g.fillOval(y+widthMove,x+heightMove,size,size);
}
public void drawAllWaypoints(Graphics g,Node[] allwpt){
if (allwpt != null) {
for(int i =0;i<allwpt.length;i++){
this.drawWaypoint(g,allwpt[i],((i+1)+""));
}
}
}
public void drawCenter(Graphics g,int panelWidth,int panelHeight){
g.setColor(Color.GREEN);
g.drawString("Center",panelWidth/2,panelHeight/2);
}
public void findWpt(int panelWidth,int panelHeight,Node node){
//System.out.println("定位");
if(node==null){
System.out.println("node is null.");
return;
}
String xTemp = "0.0", yTemp = "0.0";
xTemp = ItemValue.getWaypointX(node);
yTemp = ItemValue.getWaypointY(node);
double xt = (Double.parseDouble(xTemp)-x2);
double yt = (y1-Math.abs(Double.parseDouble(yTemp)));
xt = xt*scale;
yt = yt*scale;
int x = Integer.parseInt((new Double(xt)).longValue()+"");
int y = Integer.parseInt((new Double(yt)).longValue()+"");
int Ph = x+h;
int Pw = y+w;
int Mh = (int)(panelHeight/2);
int Mw = (int)(panelWidth/2);
//System.out.println("航点Ph"+Ph+",航点Pw"+Pw+";中心点Mh"+Mh+",中心点Mw"+Mw+".");
int PMh = Ph-Mh;
int PMw = Pw-Mw;
//System.out.println("-PMh:"+(-PMh)+",-PMw:"+(-PMw));
///
this.heightMid = this.heightMid -PMh;
this.widthMid = this.widthMid - PMw;
this.setHW();
///
}
public void findTrk(int panelWidth,int panelHeight,Node node){
}
public void drawInfo(Graphics g){
g.setColor(Color.BLACK);
g.drawString("GPS-恒瑞公司", 5, 20);
}
private void jbInit() throws Exception {
}
public void drawTest(Graphics g){
g.drawString("TEST",30,30);
}
private boolean BLACK_ORANGE = false;
public void drawTrackpoint(Graphics g, Node point,DynamicPanel dp) {
//(new DrawTrackpoint(dp, g, point, scale, x2, y1, h, w)).start();
if(this.BLACK_ORANGE){
g.setColor(Color.BLACK);
}else{
g.setColor(Color.ORANGE);
}
this.BLACK_ORANGE = !this.BLACK_ORANGE;
String xTemp = "0.0", yTemp = "0.0";
xTemp = ItemValue.getTracksPointX(point);
yTemp = ItemValue.getTracksPointY(point);
double xt = (Double.parseDouble(xTemp)-x2);
double yt = (y1-Math.abs(Double.parseDouble(yTemp)));
xt = xt*scale;
yt = yt*scale;
int x = Integer.parseInt((new Double(xt)).longValue()+"");
int y = Integer.parseInt((new Double(yt)).longValue()+"");
//g.setColor(color);
g.drawOval(x+h-3,y+w-3,6,6);
g.fillOval(x + h - 3, y + w - 3, 6, 6);
}
}
class DrawTrackpoint extends Thread{
double scale = 0.0;
double x2 = 0.0;
double y1 = 0.0;
int h = 0;
int w = 0;
Graphics g = null;
Node point = null;
DynamicPanel dp = null;
DrawTrackpoint(DynamicPanel dp,Graphics g, Node point, double scale,double x2,double y1,int h,int w){
this.scale = scale;
this.x2 = x2;
this.y1 = y1;
this.h = h;
this.w = w;
this.g = g;
this.point = point;
this.dp = dp;
}
public void run(){
for(int i =0;i<4;i++){
this.drawTrackpoint(this.g,this.point,Color.ORANGE);
/*
try {
Thread.sleep(200);
}
catch (InterruptedException ex) {
}
this.drawTrackpoint(this.g,this.point,Color.BLACK);
try {
Thread.sleep(200);
}
catch (InterruptedException ex) {
}
*/
}
//this.dp.repaint();
}
public void drawTrackpoint(Graphics g, Node point, Color color) {
String xTemp = "0.0", yTemp = "0.0";
xTemp = ItemValue.getTracksPointX(point);
yTemp = ItemValue.getTracksPointY(point);
double xt = (Double.parseDouble(xTemp)-x2);
double yt = (y1-Math.abs(Double.parseDouble(yTemp)));
xt = xt*scale;
yt = yt*scale;
int x = Integer.parseInt((new Double(xt)).longValue()+"");
int y = Integer.parseInt((new Double(yt)).longValue()+"");
g.setColor(color);
g.drawOval(x+h-3,y+w-3,6,6);
g.fillOval(x + h - 3, y + w - 3, 6, 6);
g.drawString("wewewewe",20,20);
System.out.println("g.fillOval("+(x + h - 3)+","+( y + w - 3)+", 6, 6) --Class DrawTrackpoint ,method drawTrackpoint");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -