Guest User

Untitled

a guest
Dec 5th, 2019
74
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package lab4;
  2.  
  3. import java.awt.Graphics;
  4. import java.io.Serializable;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7.  
  8. /*
  9. * Program: Prosty edytor grafu
  10. * Plik: Graph.java
  11. *
  12. * Klasa Graph reprezentuje graf na płaszczyźnie.
  13. * Klasa może być klasą bazową dla klas reprezentujących
  14. * grafy modelujące wybrane zagadnienia np.:
  15. * - schemat komunikacji miejskiej,
  16. * - drzewo genealogiczne,
  17. * - schemat obwodu elektronicznego typu RLC,
  18. * - schemat topologi sieci komputerowej
  19. *
  20. * Autor: Adrian Siwak
  21. * Data: grudzień 2019 r.
  22. */
  23.  
  24. public class Graph implements Serializable {
  25.  
  26. private static final long serialVersionUID = 1L;
  27.  
  28. // Lista węzłów grafu
  29. private List<Node> nodes;
  30. private List<Edge> edges;
  31.  
  32. public Graph() {
  33. this.nodes = new ArrayList<Node>();
  34. this.edges = new ArrayList<Edge>();
  35.  
  36. }
  37.  
  38. public void addEdge(Edge edge){
  39. edges.add(edge);
  40. }
  41.  
  42. public void addNode(Node node){
  43. nodes.add(node);
  44. }
  45.  
  46. public void removeEdge(Edge edge){
  47. edges.remove(edge);
  48. }
  49.  
  50. public void removeNode(Node node){
  51. nodes.remove(node);
  52. }
  53.  
  54. public Edge[] getEdges(){
  55. Edge [] array = new Edge[0];
  56. return edges.toArray(array);
  57. }
  58.  
  59. public Node[] getNodes(){
  60. Node [] array = new Node[0];
  61. return nodes.toArray(array);
  62. }
  63.  
  64. public void draw(Graphics g){
  65. for(Edge edge : edges){
  66. edge.draw(g);
  67. }
  68. for(Node node : nodes){
  69. node.draw(g);
  70. }
  71. }
  72.  
  73.  
  74.  
  75. }
RAW Paste Data