0

私はJgraphxを使用してプログラムを書いていますが、複数選択はうまく機能します(1つのノードを選択し、ctrlを押して他のノードをクリックすると選択されます)が、マーキー選択を機能させることができません(マウスをクリックしてドラッグしますが、ノードを選択するための四角形は表示されません)。私が間違っていることは何ですか?

4

1 に答える 1

2

この機能を追加するには、新しい mxRubberband を作成します。これですべての作業が完了します。例:

public class HelloWorld extends JFrame
{
    private static final long serialVersionUID = -2707712944901661771L;

    public HelloWorld()
    {
        super("Hello, World!");

        mxGraph graph = new mxGraph();
        Object parent = graph.getDefaultParent();

        graph.getModel().beginUpdate();
        try
        {
            String s1 = "Hello";
            String s2 = "World!";
            Object v1 = graph.insertVertex(parent, "ID1", s1, 20, 20, 80,
                    30);
            //graph.insertVertex(parent, null, v1, 20, 280, 80, 30);
            Object v2 = graph.insertVertex(parent, "ID2", s2, 240, 150,
                    80, 30);
            mxCell edge = (mxCell) graph.insertEdge(parent, "ID3", "TEST", v1, v2);

        }
        finally
        {
            graph.getModel().endUpdate();
        }
        Object o = graph.getDefaultParent();
        mxGraphComponent graphComponent = new mxGraphComponent(graph);
        new mxRubberband(graphComponent); // Adds support for marquee selection

        getContentPane().add(graphComponent);

    }

    public static void main(String[] args)
    {
        HelloWorld frame = new HelloWorld();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 320);
        frame.setVisible(true);
    }
}
于 2015-10-26T13:31:26.150 に答える