1

エッジのソースまたはターゲットを変更するイベントを取得するにはどうすればよいですか? エッジが最初に 2 つのノードを接続したときは取得できますが、ユーザーが既に作成されたエッジのソースまたはターゲットを変更した場合はわかりません。

4

1 に答える 1

1

これを行う方法を見つけました:

        graph.addListener(mxEvent.CELL_CONNECTED, new mxIEventListener() {
            @Override
            public void invoke(Object sender, mxEventObject evt) {
                mxCell connectionCell = (mxCell) evt.getProperty("edge");
                boolean source = (Boolean) evt.getProperty("source");
                                    /* source == true when source changed, source == false, when target changed). */
            }
        });

ソースとターゲットの変更に対して個別のイベントを取得します。IE では、最初の接続時に 2 つのイベントが発生します。source == true の 1 つですが、エッジのターゲットはまだ設定されていません。そして source == false で。ただし、ターゲットがある場合にのみ後者を取得します.... (したがって、最初の接続でダングリング エッジを削除する場合でも、mxGraphComponent の ConnectonHandler で mxEvent.CONNECT イベントを使用する必要があります)。

于 2013-07-18T11:02:36.450 に答える