2016-04-06 12 views

cevap

0

Kenarları kontrol ederek kontrol edebilirsiniz. Bu örnekte cell1 olan ilk hücreye ve cell2 hücresine hücre1 ile bağlı olup olmadığını kontrol etmek istediğiniz hücreye bakın.

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

Sen CELL1 kaynak veya yineleme hedef olacak olmadığından emin olamaz çünkü kaynak ve hedef hem kontrol etmek gerekir. Bu şekilde, hücre1'a bağlı olan her hücreyi yinelerseniz ve ikinci bir hücreye eşit olup olmadığına bakarsınız.

+0

'==' operatörü burada uygun mu yoksa 'equals()' yöntemi yerine mi kullanılmalı? – entpnerd

+0

@entpnerd Kullanmalısınız '=='. Tamamen emin değilim, ama sanırım '.equals()' yöntemi yalnızca _class_ Object'i genişleten nesnelerde uygulanabilir. Bildiğim kadarıyla, mxCell onu genişletmez (ancak kontrol etmelisiniz). Her neyse, temelde '.equals()' ı Dizeleri karşılaştırmak ve '==' diğer nesneleri karşılaştırmak için kullanmalısınız. Bu makaleye bir göz attığımda kesinlikle http://www.programmerinterview.com/index.php/java-questions/java-whats-the-difference-between-equals-and/ – Fagundes

İlgili konular