2016-04-06 6 views

答えて

0

エッジを確認して確認できます。この例では、cell1のセルがあり、cell2セルがcell1に接続されているかどうかを確認したいとします。

for (int i = 0; i < cell1.getEdgeCount(); i++) { 
    mxCell source = ((mxCell) cell1.getEdgeAt(i)).getSource(); 
    mxCell target = ((mxCell) cell1.getEdgeAt(i)).getTarget(); 
    if (source == cell2 || target == cell2) 
     return true; 
    else 
     return false; 
} 

あなたはCELL1は、その反復でソースまたはターゲットになるかどうかは確認することはできません「原因ソースとターゲットの両方をチェックする必要があります。このようにして、接続されているすべてのセルをcell1に繰り返し、2番目のセルと等しいかどうかを確認します。

+0

ここで '=='演算子は適切か、代わりに 'equals()'メソッドを使うべきですか? – entpnerd

+0

@entpnerd '=='を使うべきです。私は完全にはわかりませんが、 '.equals()'メソッドは_class_ Objectを拡張するオブジェクトでのみ実装できると思います。私が知っていることから、mxCellはそれを拡張しません(しかし、あなたはそれをチェックすべきです)。とにかく、基本的に '.equals()'を使って文字列を比較し、 '=='を使って他のオブジェクトを比較するべきです。この記事を見てください、それは間違いなく私よりも説明します http://www.programmerinterview.com/index.php/java-questions/java-whats-the-difference-between-equals-and/ – Fagundes

関連する問題