1
위쪽이 JGraph의 JPanel이고 아래가 그래프에 나타날 노드의 수를 선택할 수있는 바의 JPanel 인 JFrame을 만들려고합니다. 그리고이 후에 업데이트 할 그래프. 이런 이유로 그래프를 별도의 클래스에 넣고 나중에 나는 업데이트 메소드를 빌드 할 것입니다.JPanel을 사용하여 JGraph를 만들고 싶습니다.
제 문제는 그래프가 포함 된 Panel은 프레임 크기이지만 그래프는 최대 정점 값만큼 커야한다는 것입니다. JPanel을 특정 크기로 변경하고 그래프가이 공간을 채우게하려면 어떻게해야합니까?
또한이 목표를 달성하는 가장 좋은 방법은 무엇입니까? 아니면 더 좋은 방법이 있습니까?
public class MyGraph extends JFrame{
private static final long serialVersionUID = 1L;
private JPanel Gpanel;
public MyGraph(){
super("Graph");
JPanel Gpanel = new NewPanel();
getContentPane().add(Gpanel);
}
public static void main(String args[]){
MyGraph frame = new MyGraph();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(600, 600);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
class NewPanel extends JPanel{
private static final long serialVersionUID = 1L;
mxGraph graph;
Object parent;
NewPanel(){
this.graph = new mxGraph();
this.parent = graph.getDefaultParent();
graph.getModel().beginUpdate();
try{
Object v1 = graph.insertVertex(parent, null, "Hello", 20, 20, 80, 30);
Object v2 = graph.insertVertex(parent, null, "World!", 300, 150, 80, 30);
graph.insertEdge(parent, null, "Edge", v1, v2);
}
finally{
graph.getModel().endUpdate();
}
mxGraphComponent graphComponent = new mxGraphComponent(graph);
this.add(graphComponent);
}
public void Update(){
}
}
}