最近在Eclipse插件開(kāi)發(fā)中遇到這樣的問(wèn)題,我使用如入擴(kuò)展點(diǎn)
也就是在調(diào)式Java Application的對(duì)話框中,增加一個(gè)Tab頁(yè),Tab頁(yè)的名字為SqlDebugTab,在這個(gè)Tab頁(yè)上增加幾個(gè)復(fù)選框,復(fù)選框要顯示視圖的名稱,如果用戶選擇某個(gè)復(fù)選框,點(diǎn)“Debug”后,將顯示指定的視圖,可是在com.example.launch.SqlDebugLaunchDelegate類中的launch方法中調(diào)用PlatformUI.getWorkbench().getActiveWorkbenchWindow(),得到的對(duì)象卻為null,調(diào)試程序才發(fā)現(xiàn),運(yùn)行com.example.launch.SqlDebugLaunchDelegate類是,走的是新線程,也就是說(shuō)點(diǎn)“Debug”按鈕時(shí),Eclipse平臺(tái)啟動(dòng)的是新的線程(非UI線程),而在新線程中是取不到ActiveWorkbenchWindow對(duì)象,為了解決這個(gè)問(wèn)題,花費(fèi)了很多時(shí)間,最后終于找到解決方法,在launch方法通過(guò)如下程序來(lái)顯示視圖,就可以解決上面遇到的問(wèn)題:
Powered by: BlogJava Copyright © 笑看人生