我不太明白這兩種方法之間的區別。 forceFocus()
在什麼情況下會比setFocus()
好?SWT中forceFocus()和setFocus()之間的區別是什麼?
5
A
回答
8
根據SWT:標準部件工具包,第1卷,forceFocus():
強制控制接收鍵盤 事件。通常不會接受鍵盤輸入的控件 將使用此方法。如果因爲任何原因不能將焦點分配給 ,則返回false爲 。
也:
一般來說,迫使焦點 東西,你永遠都不想去做。例如,強制關注標籤 不是很有用,因爲標籤 沒有以指示 的方式繪製它們可以接受輸入。強制重點 到一個不期望它的控件 可以混淆用戶,因爲他們沒有 想法,他們的擊鍵發生在哪裏。 應用程序應始終使用 setFocus()分配焦點。
3
即將在後期的方式在這一個,但我只是完成了與此相關的一些長期頭打漿對壁會議,我想我會做一個快速報告:
如果你的控制有孩子,setFocus(myControl)
將在子樹上進行深度優先搜索並將焦點設置爲最低的第一個孩子。另一方面,forceFocus(myControl)
只會將焦點設置到myControl並完成它。
我遇到了一個帶有GridLayout的無模式對話框,其中大多數網格單元都是一組需要焦點的Canvas子類對象。 (是的,這有點奇怪,但我希望能夠將鼠標懸停在單元格上並輸入內容。)網格中的最後一個控件是一個「完成」按鈕,我將其設置爲默認選擇。
當鼠標離開畫布單元格時,我正在做一個setFocus(myDialogShell)
,它立即將焦點設置到第一個畫布元素,防止「完成」按鈕接收\ r並處置整個骯髒的業務。另一方面,forceFocus(myDialogShell)
做到了。
相關問題
- 1. $(())和expr之間的區別是什麼?
- 2. $和$ .fn之間的區別是什麼?
- 3. ++和:haskell之間的區別是什麼?
- 4. $(「」)和$ .find(「」)之間的區別是什麼?
- 5. 「\」和「\。」之間的區別是什麼?
- 6. 「$ | ++」和「$ | = 1」之間的區別是什麼
- 7. $(...)和`...`之間的區別是什麼
- 8. .equals()和==之間的區別是什麼?
- 9. [undefined]和[,]之間的區別是什麼?
- 10. SWT Spinner的getText()和getSelection()之間有什麼區別?
- 11. 什麼之間的區別〜^和Git中
- 12. 區別:%% a和%variable%變量之間的區別是什麼?
- 13. 什麼是爲PrintWriter和DataOutputStream之間的區別是什麼?
- 14. 「;」和「;」之間的區別是什麼?和T-SQL中的「GO」?
- 15. 「。」和「。」之間的區別是什麼?和[System.ENVIRONMENT] :: PowerShell中的CurrentDirectory?
- 16. MVC和MVVM之間的區別和相似之處是什麼?
- 17. TVF/UDF之間的區別是什麼
- 18. [EmailPasswordAuthProvider,EmailAuthProvider]之間的區別是什麼
- 19. System.Linq.Enumerable.WhereListIterator&System.Linq.Enumerable.WhereSelectListIterator之間的區別是什麼?
- 20. 什麼@android之間的區別:和android:
- 21. C#和MVC中System.Environment.Username和User.Identity.Name之間的區別是什麼?
- 22. 在Android中,MotionEvent中getAction()和getActionMasked()之間的區別是什麼?
- 23. Ext JS中的grid.columns和grid.getColumnManager()。getColumns()之間的區別是什麼?
- 24. Selenium中的定位符和Webelement之間的區別是什麼?
- 25. log4net dll中的XmlCofigurator和DomCofigurator之間的區別是什麼?
- 26. MassTransit中的Consumes.For,Consumes.Selected,Consumes.All和Consumes.Context之間的區別是什麼?
- 27. Go中的new(Struct)和&Struct {}之間的區別是什麼?
- 28. .Net 3.5中的Microsoft.Web.Management和System.DirectoryServices之間的區別是什麼?
- 29. mootools中的.innerHTML和.set('html','')之間的區別是什麼?
- 30. OOP中的 - >和::之間的區別是什麼