2011-03-22 80 views
2

我在SWT中有一個樹表。我想在用戶開始編輯視圖上的字段時顯示視圖。但是,我遇到這樣的問題,即當我進入編輯器時,視圖的激活竊取了編輯器的焦點,所以我不能再使用它了。Eclipse RCP:從編輯器激活視圖而不失焦

什麼是正確的方式來激活我的樹細胞編輯器的視圖,而不會失去焦點?

+1

你能否解釋一下你的意思是「激活視圖」?如果我說「我激活了一個視圖」,這就是「我給焦點視圖」的同義詞! – Arne 2011-03-22 10:49:02

+0

你說得對。該觀點已經存在。我想將它帶入焦點 – 2011-03-22 12:37:58

回答

4

問題是在Active Page中使用showView()方法。

對於這種特殊情況,有必要使用bringToFront()方法代替showView(),因爲bringToFront()不會竊取焦點。

+0

只有指定視圖已打開,此解決方案纔有效。我沒有找到任何方法在專注於當前選定部分的同時爲特定輸入打開編輯器。 – parasietje 2012-03-06 16:17:38

+3

@parasietje我認爲你需要的是'showView(id,secondaryId,IWorkbenchPage.VIEW_VISIBLE)'。查看'mode'參數的文檔:如果提供了'VIEW_VISIBLE',那麼它是可見的,但沒有給出焦點。 – 2012-04-18 14:42:13

+0

@ JoseM.Benitez是否也適用於Eclipse 3.x中的編輯器? – parasietje 2012-04-18 19:19:59