首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >想要用JPanel制作JGraph

想要用JPanel制作JGraph
EN

Stack Overflow用户
提问于 2013-11-23 16:13:44
回答 1查看 1.5K关注 0票数 2

我正在尝试创建一个JFrame,其中顶部是JGraph的JPanel,底部是条形图的JPanel,它允许用户选择将在图形中出现多少个节点,以及在发生这种情况后要更新的图形。出于这个原因,我将Graph放在一个单独的类中,稍后我将在其中构建一个update方法。

我的问题是,包含Graph的面板是框架的大小,但我的Graph仅与最大顶点值一样大。如何将JPanel更改为特定大小,并让图形填充此空间?

同样,我这样做是实现这个目标的最好方法,还是有更好的方法?

代码语言:javascript
复制
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(){

    }
}

}

EN

回答 1

Stack Overflow用户

发布于 2013-11-24 22:35:21

始终设置面板的布局

代码语言:javascript
复制
public MyGraph(){
    ...
    getContentPane().setLayout(new BorderLayout());
    getContentPane().add(Gpanel, BorderLayout.CENTER);
}

class NewPanel extends JPanel{
    ...

    NewPanel(){
        ...
        this.setLayout(new BorderLayout());
        this.add(graphComponent, BorderLayout.CENTER);
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20160142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档