회사에서 생각보다 괴랄한 라이브러리를 사용하게 되었다.
그래프를 보여주기 위해 사용하는 라이브러리로 다양한 구조로 데이터를 시각화할 수 있는 라이브러리다.
yFiles for Swing 2.5.0 버전인데 유료 라이브러리다.
공식 홈페이지 : https://www.yworks.com/products/yfiles
stackoverflow에도 뭐가 나오는게 없고 혹시 나와 같이 맨땅에서 시작하는 사람이 있을까봐 조금씩 정리를 해본다.
yFiles를 사용할 때 개념을 몇개 잡고 시작하자.
view와 graph라는게 있다.
view안에 graph가 존재한다고 생각하자.
view는 정말 눈으로 보는 큰 개념에 대해 관리를 하고 graph는 graph의 구성요소들(node, edge 등)에 대해 생성, 제거 등을 관리한다.
일단 간단하게 예제 코드를 작성해보자.
swing기반이기때문에 swt/jface는 사용하지 못한다.(나중에 같이 사용하는 법을 올리겠다.)
우선 swing에서 frame을 만들어 yFiles의 그래프를 그릴 틀을 만들어준다.
JFrame frame = new JFrame("test frame"); Container container = frame.getContentPane(); frame.setReiszable(true); frame.setLocationRelativeTo(null); frame.setVisible(true);
이제 위에서 말한 view와 graph라는걸 만들어보자.
Graph2DView view = new Graph2DView(); Graph graph = view.getGraph2D();
view가 눈에 보이는 큰 개념이라고 설명했다. 그러면 frame에 담아보도록 하자.
container.add(view);
이제 yFiles로 만든 내용물이 Frame에서 보일 것이다.
간단하게 내용물을 채워보자. node부터 만들어보자.
Node node1 = graph.createNode(); Node node2 = graph.createNode();
이 둘을 이어보자.
node1에서 node2로 방향이 있는 edge를 만든다.
graph.createEdge(node1, node2);
이제 우리는 ndoe1에서 node2로 가는 edge를 가진 그래프를 만들 수 있게 되었다.