2016-04-06 14 views

Antwort

0

Sie können es überprüfen, indem Sie die Kanten überprüfen. In diesem Beispiel ist cell1 die erste Zelle, die Sie haben, und cell2 die Zelle, die Sie überprüfen möchten, ob es mit cell1 verbunden ist.

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; 
} 

Sie benötigen sowohl die Quell- und Ziel ‚überprüfen führen, dass Sie sich nicht sicher sein kann, wenn cell1 wird die Quelle oder das Ziel in dieser Iteration sein. Auf diese Weise iterieren Sie jede Zelle, die mit cell1 verbunden ist, und überprüft, ob es gleich einer zweiten Zelle ist.

+0

Ist hier der Operator '== 'oder sollte stattdessen die' equals() 'Methode verwendet werden? – entpnerd

+0

@entpnerd Sie sollten '==' verwenden. Ich bin mir nicht ganz sicher, aber ich denke, die '.equals()' Methode kann nur in Objekten implementiert werden, die das _class_ Objekt erweitern. Soweit ich weiß, erweitert mxCell es nicht (aber Sie sollten es überprüfen). Wie auch immer, grundsätzlich sollten Sie '.equals()' verwenden, um Strings zu vergleichen, und '==', um andere Objekte zu vergleichen. Werfen Sie einen Blick in diesem Artikel, es wird definitiv besser erklären, als ich http://www.programmerinterview.com/index.php/java-questions/java-whats-the-difference-between-equals-and/ – Fagundes

Verwandte Themen