2013-07-09 48 views
1

我正在研究Java,SmartGWT 2.5 & Mozilla FF 3.6.x.我在我的應用程序中使用Tree,TreeGrid & TreeNode。我需要拖動一個節點,同時拖動,我必須看到鼠標將通過改變背景顏色的其他節點。我嘗試了dragStart,dragStop,onCellOver,onCellOut和dragMove,但也許我沒有把它們組合好。那麼,這些事件如何結合起來以獲得我所需要的?活動組合SmartGWT

回答

1

在目標窗口小部件(本例中爲TreeGrid)上添加一個DropOverHandler

然後,您需要使用衆多可用樣式API之一(可能爲getCellCSSText()),以便在鼠標懸停在目標網格上時返回不同的結果,並從DropOver網格調用markForRedraw()你的新造型被應用。

覆蓋willAcceptDrop()是如何告訴系統是否允許放在特定行上(影響鼠標光標)。

通過DropOut事件檢測鼠標退出網格,並在那裏再次調用markForRedraw()。

+0

謝謝你,但現在我有一個問題得到目標。我的意思是,它應該從Canvas轉換到Node:Node _parent = event.getTarget(),這個event.getTarget()返回Canvas,我知道如何投射它? – Katerina

+1

event.getTarget()將返回作爲事件目標的小部件(在這種情況下爲TreeGrid,Canvas的子類),並且這不是TreeNode,也不能轉換爲TreeNode。但是我不能告訴你TreeNode需要什麼以及在哪個事件中,因此請嘗試重新發佈一個新問題,並提供更多細節。 –