Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package lab4;
- import java.awt.Graphics;
- import java.io.Serializable;
- import java.util.ArrayList;
- import java.util.List;
- /*
- * Program: Prosty edytor grafu
- * Plik: Graph.java
- *
- * Klasa Graph reprezentuje graf na płaszczyźnie.
- * Klasa może być klasą bazową dla klas reprezentujących
- * grafy modelujące wybrane zagadnienia np.:
- * - schemat komunikacji miejskiej,
- * - drzewo genealogiczne,
- * - schemat obwodu elektronicznego typu RLC,
- * - schemat topologi sieci komputerowej
- *
- * Autor: Adrian Siwak
- * Data: grudzień 2019 r.
- */
- public class Graph implements Serializable {
- private static final long serialVersionUID = 1L;
- // Lista węzłów grafu
- private List<Node> nodes;
- private List<Edge> edges;
- public Graph() {
- this.nodes = new ArrayList<Node>();
- this.edges = new ArrayList<Edge>();
- }
- public void addEdge(Edge edge){
- edges.add(edge);
- }
- public void addNode(Node node){
- nodes.add(node);
- }
- public void removeEdge(Edge edge){
- edges.remove(edge);
- }
- public void removeNode(Node node){
- nodes.remove(node);
- }
- public Edge[] getEdges(){
- Edge [] array = new Edge[0];
- return edges.toArray(array);
- }
- public Node[] getNodes(){
- Node [] array = new Node[0];
- return nodes.toArray(array);
- }
- public void draw(Graphics g){
- for(Edge edge : edges){
- edge.draw(g);
- }
- for(Node node : nodes){
- node.draw(g);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement