Save This Page
Home » openjdk-7 » net.wlandscape » map » [javadoc | source]
    1   package net.wlandscape.map;
    2   
    3   import java.awt;
    4   import javax.swing;
    5   import java.awt.geom;
    6   import net.wlandscape.pgm;
    7   
    8   /**
    9    * <p>?berschrift: Project WLANdscape</p>
   10    * <p>Beschreibung: class to create the layer for the display of the WLANs;</p>
   11    * <p>--> used in a JLayeredPane in class CMapDisplay</p>
   12    * <p>Copyright: Copyright (c) 2002</p>
   13    * <p>Organisation: <a href="http://sourceforge.net/projects/wlandscape/">Project WLANdscape</a></p>
   14    * @author <a href="mailto:cg7@gmx.de">Christian Gra?</a>
   15    * @version 0.1
   16    */
   17   
   18   public class CWlanLayer extends JPanel{
   19     private static final boolean debug = true;
   20     private CWlanInfo[] wlanInfos;
   21     private boolean[] isToRender;
   22   
   23     public CWlanLayer(CWlanInfo[] theWlanInfo){
   24       wlanInfos = theWlanInfo;
   25       isToRender = new boolean[wlanInfos.length];
   26       for (int i = 0; i<wlanInfos.length; i++){
   27         isToRender[i] = true;
   28       }
   29       setBounds(0,0,800,600);
   30     }
   31   
   32     // determine which WLANs will be rendered and which not
   33     public void setIsToRender(int[] selectedWlans){
   34       for (int i = 0; i<isToRender.length; i++){
   35         isToRender[i] = true;
   36       }
   37       for (int i = 0; i<selectedWlans.length; i++){
   38         isToRender[selectedWlans[i]] = false;
   39       }
   40       repaint();
   41     }
   42   
   43   
   44     public void paintComponent(Graphics g1){
   45       Graphics2D g = (Graphics2D)g1;
   46       g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
   47                          RenderingHints.VALUE_ANTIALIAS_ON);
   48       for(int i = 0; i < isToRender.length; i++){ // for each WLAN
   49         if(isToRender[i] == true){ //if it is to render
   50           if(debug){
   51             System.out.println("Rendering " + wlanInfos[i].toString());
   52           }
   53           CWlanPosition[] positions = wlanInfos[i].getWlanPositions();
   54           int wlanColor = (int)(i*100/isToRender.length);
   55           g.setColor(Color.getHSBColor(100,100,wlanColor));
   56           //g.fillRect(i*10,0,10,10);
   57           for (int j = 0; j < positions.length; j++){ // for each position of the WLAN
   58             g.setColor(Color.getHSBColor(100,(int)(positions[j].getQuality()), wlanColor));
   59             g.fill(new Ellipse2D.Double(positions[j].getLatitude(),
   60                                         600-positions[j].getLongitude(),
   61                                         30, 30));
   62   
   63   
   64           }
   65         }
   66       }
   67       if (debug){
   68         g.setColor(Color.gray);
   69         for (int i = 0; i<600; i+=10){
   70           g.drawLine(0,i,800, i);
   71           if(i%100 == 0){
   72             g.drawLine(0,i-1,800, i-1);
   73             g.drawLine(0,i+1,800, i+1);
   74           }
   75         }
   76         for (int i = 0; i<800; i+=10){
   77           g.drawLine(i,0,i,600);
   78           if(i%100 == 0){
   79             g.drawLine(i-1,0,i-1,600);
   80             g.drawLine(i+1,0,i+1,600);
   81           }
   82         }
   83       }
   84     } // end of render method
   85   
   86   
   87   // *** generate the adequate color for the link quality
   88     private Color getQualityColor(double theQuality)
   89     {
   90       int q = (int) (255*theQuality/100);
   91       Color qualityColor = new Color(30, q, 30, 120);
   92       return qualityColor;
   93     }
   94   } // end of class CWlanLayer
   95   
   96   
   97   

Save This Page
Home » openjdk-7 » net.wlandscape » map » [javadoc | source]