Rambler's Top100

А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Э Ю Я

Все примеры | Примеры по пакетам

Рисование графа из карты TreeMap


//Рисование графа из карты TreeMap
//Перепубликация запрещена
//Drawing graph from TreeMap
//Republishing is denied
package graph;
import java.awt.*;
import java.awt.dnd.DropTargetDragEvent;
import java.awt.dnd.DropTargetDropEvent;
import java.awt.dnd.DropTargetEvent;
import java.awt.dnd.DropTargetListener;
import java.awt.event.*;
import java.awt.geom.Line2D;
import java.util.Iterator;
import java.util.SortedMap;
import java.util.TreeMap;
import java.util.Vector;
import javax.swing.*;
public class LineGraph extends JFrame implements DropTargetListener
    {
     LinePanel linePanel = new LinePanel();
     static  Vector<  Integer > grcoord=new Vector<  Integer >();
     static  Vector nodes=new Vector();
     static  Vector< Vector> grinfo=new Vector< Vector>();
 static SortedMap<  String, Vector<  Vector >> graph=
         new TreeMap<  String, Vector<  Vector >>() ;
     LineGraph()
         {
         setDefaultCloseOperation(EXIT_ON_CLOSE);
         initContentPane();
         pack();
         setLocationRelativeTo(null);
         setVisible(true);
     }
   
     private void initContentPane()
         {
         getContentPane().add(linePanel);
     }
class LinePanel extends JPanel
         {
         LinePanel()
             {
             super();
         }
public void paintComponent(Graphics g)
          {
           super.paintComponent(g);
           Graphics2D g2 = (Graphics2D) g;
           Graphics2D g21 = (Graphics2D) g;
           g2.setColor(Color.RED);
           Integer refInt = new Integer(123);
           Integer x=refInt.valueOf("1");
           Integer y=refInt.valueOf("1");
           drawNodes(g2);
   for (Iterator it=graph.keySet().iterator(); it.hasNext(); ) {
        String key = it.next().toString();
        x=refInt.valueOf(graph.get(key).get(0).get(0).toString());
        y=refInt.valueOf(graph.get(key).get(0).get(1).toString());
        g21.setColor(Color.blue);
        drawNodeLines(g21,key,x,y);
                }
         }
public void drawNodes(Graphics g){
    Graphics2D g2 = (Graphics2D) g;
        Integer refInt = new Integer(123);
        Integer x=refInt.valueOf("1");
        Integer y=refInt.valueOf("1");
     for (Iterator it=graph.keySet().iterator(); it.hasNext(); ) {
       String key = it.next().toString();
       x=refInt.valueOf(graph.get(key).get(0).get(0).toString());
       y=refInt.valueOf(graph.get(key).get(0).get(1).toString());
       g.drawOval(x, y, 22, 22);
       g2.setBackground(Color.blue);
       g2.drawString(key, x, y);
    }
}
   public void drawNodeLines(Graphics g,String key,Integer x,Integer y){
             Graphics2D g2 = (Graphics2D) g;
             Integer refInt = new Integer(123);
             Integer x1=refInt.valueOf("1");
             Integer y1=refInt.valueOf("1");
             String key2="";
             String key3="";
        key2= graph.get(key).get(1).get(0).toString();
         for(int i=0;i<  graph.get(key).get(1).size();i++){
           key3= graph.get(key).get(1).get(i).toString();
           x1=refInt.valueOf(graph.get(key3).get(0).get(0).toString());
           y1=refInt.valueOf(graph.get(key3).get(0).get(1).toString());
           g2.drawLine(x1+11, y1+11, x+11, y+11);
         }
         }
         public Dimension getPreferredSize()
             {
             return new Dimension(400, 350);
         }
     }
public void dragEnter(DropTargetDragEvent dtde) {
    System.out.println("Drag Enter");
  }
  public void dragExit(DropTargetEvent dte) {
    System.out.println("Drag Exit");
    //tb.getSelectedRow();
  }
  public void dragOver(DropTargetDragEvent dtde) {
    System.out.println("Drag Over");
  }
  public void dropActionChanged(DropTargetDragEvent dtde) {
    System.out.println("Drop Action Changed");
  }
  public void drop(DropTargetDropEvent dtde) {
  }
     public static void main(String[] args)
         {
        /////////////
        grcoord=new Vector();
        grcoord.add(11);
        grcoord.add(11);
        nodes=new Vector();
        nodes.add("b");
       // nodes.add("c");
       // nodes.add("d");
        grinfo=new Vector< Vector>();
        grinfo.add(grcoord);
        grinfo.add(nodes);
        graph.put("a",grinfo);
        /////////////////
         grcoord=new Vector();
        grcoord.add(175);
        grcoord.add(22);
        nodes=new Vector();
        nodes.add("a");
        nodes.add("c");
        nodes.add("d");
        grinfo=new Vector< Vector>();
        grinfo.add(grcoord);
        grinfo.add(nodes);
         graph.put("b",grinfo);
        //////////////
         grcoord=new Vector();
        grcoord.add(11);
        grcoord.add(55);
        nodes=new Vector();
       // nodes.add("a");
        nodes.add("b");
        nodes.add("d");
        grinfo=new Vector< Vector>();
        grinfo.add(grcoord);
        grinfo.add(nodes);
        graph.put("c",grinfo);
        /////////
         grcoord=new Vector();
        grcoord.add(55);
        grcoord.add(75);
        nodes=new Vector();
        nodes.add("b");
        nodes.add("c");
       // nodes.add("a");
        grinfo=new Vector< Vector>();
        grinfo.add(grcoord);
        grinfo.add(nodes);
        graph.put("d",grinfo);
        System.out.println( graph);
        String str="1";
        Integer refInt = new Integer(123);
        Integer x=refInt.valueOf("1");
        Integer y=refInt.valueOf("1");
       System.out.println(graph.get("a").get(0).get(0).toString());
        for (Iterator it=graph.keySet().iterator(); it.hasNext(); ) {
        String key = it.next().toString();
         x=refInt.valueOf(graph.get(key).get(0).get(0).toString());
       System.out.println("x = "+x);
       y=refInt.valueOf(graph.get(key).get(0).get(1).toString());
       System.out.println("y = "+y);
    }
         new LineGraph();
     }
}

31.01.2009

Rambler's Top100


Ассоциативные ссылки