Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/incenter/ngbclient/plotter.java


1   
2   package org.incenter.ngbclient;
3   import org.incenter.ngbclient.*;
4   import org.incenter.gb.*;
5   
6   import java.awt.*;
7   import java.awt.event.*;
8   import java.net.*;
9   import java.io.*;
10  import java.lang.*;
11  import java.util.*;
12  
13  public class plotter extends Canvas
14  {
15      Vector mapObjs;
16      public static final int UNIVERSE = 0;
17      public static final int SYSTEM = 1;
18      int universeFactor = 25, systemFactor = 25;
19      int universeDivider = 100, systemDivider = 10;
20      int divider, factor;
21      int mode;
22      boolean showStar = true;
23  
24      public plotter(Vector mobjs, int mode) {
25    mapObjs = mobjs;
26    this.mode = mode;
27    setSize(calcSize());
28  
29    setBackground(Color.black);
30      }
31  
32      public void setShowStar(boolean b) {
33    showStar = b;
34    repaint();
35      }
36  
37      public MapObject getMapObject(int x, int y) {
38    Enumeration en = mapObjs.elements();
39    while(en.hasMoreElements()) {
40        MapObject mo = (MapObject)en.nextElement();
41        if(mo.isInside(x,y))
42      return mo;
43    }
44    return null;
45      }
46  
47      private Dimension calcSize() {
48    if(mode == UNIVERSE) {
49        factor = universeFactor;
50        divider = universeDivider;
51    } else if(mode == SYSTEM) {
52        factor = systemFactor;
53        divider = systemDivider;
54    }
55    int maxx = -9999, maxy = -9999;
56    Enumeration en = mapObjs.elements();
57    while(en.hasMoreElements()) {
58        MapObject mo = (MapObject)en.nextElement();
59        if(mo.getXcoord() > maxx) maxx = mo.getXcoord();
60        if(mo.getYcoord() > maxy) maxy = mo.getYcoord();
61    }
62    return new Dimension((maxx/divider)+ 100, (maxy/divider)+100);
63      }
64  
65      public void paint(Graphics g) {
66    Dimension dm = getSize();
67    try {
68        int maxx = -9999, maxy = -9999;
69        Enumeration en = mapObjs.elements();
70        while(en.hasMoreElements()) {
71      MapObject mo = (MapObject)en.nextElement();
72      if(mo.getXcoord() > maxx) maxx = mo.getXcoord();
73      if(mo.getYcoord() > maxy) maxy = mo.getYcoord();
74        }
75        en = mapObjs.elements();
76        while(en.hasMoreElements()) {
77      MapObject mo = (MapObject)en.nextElement();
78      if(mode == SYSTEM) {
79          if((mo.getSource() instanceof star_remote && showStar) ||
80             !(mo.getSource() instanceof star_remote))
81        mo.draw(g, divider, 2500, 2500, this);
82      } else
83          mo.draw(g, divider, this);
84        }
85  
86    } catch(Exception e) {
87        g.drawString("ERROR:" + e, 
88         dm.width /2,
89         dm.height/2);
90    }
91      }
92  
93  }