我需要確定遊標是否在XML範圍內。 我爲範圍設置了開始和結束文本節點。 我想compareBoundaryPoints方法不適用於這種情況。當然,我可能是錯的。 在Java中,我使用com.arbortext.epic.ADocument
,org.w3c.dom.ranges.Range
導入。 holeRange_
是一個org.w3c.dom.ranges.Range
對象。可以在Java中爲Range對象設置開始和結束文本節點嗎?
holeRange_ = ((DocumentRange) txtProcessor_.GetDocument()).createRange();
holeRange_.setStart(startNode, 0); //text node
holeRange_.setEndAfter(endNode); //text node
這裏是點擊事件處理程序的主體:
Range caretRange = ((ADocument) txtProcessor_.GetDocument()).getInsertionPoint();
if (caretRange != null) {
DebugMode.println(caretRange.getStartContainer().getNodeValue());
DebugMode.println("END_TO_START = " +
textNodeRange_.compareBoundaryPoints(Range.END_TO_START, caretRange));
DebugMode.println("START_TO_END = " +
holeRange_.compareBoundaryPoints(Range.START_TO_END, caretRange));
}
輸出給END_TO_START = -1和START_TO_END = -1當光標在該範圍內。 根據Check if specified element is inside selection值應爲:END_TO_START = -1和START_TO_END = 1 與之鏈接的問題: https://bugs.eclipse.org/bugs/show_bug.cgi?id=148126
...任何代碼顯示,順便說一句?什麼是範圍對象? – Coffee 2012-04-19 14:09:22
@JimmyGustafsson - 呃,公平地說llya有4或5個沒有答案的Q's – Coffee 2012-04-19 14:10:36
@Adel - 確實如此。沒有意識到這一點。我想他仍然可以通過閱讀提供的鏈接獲益。 @伊利亞 - 這個問題很難回答它目前的狀態。請嘗試發佈你已經嘗試過的相關代碼,爲什麼它不能正常工作,更多的人可以幫助你解決問題 – 2012-04-19 14:15:09