我學會了如何編寫一個基於SWT的應用程序,遵循tutorial。但是,我不知道如何前進到一個GUI eclipse插件。如何在Eclipse插件中編寫基於SWT的GUI?
我正在編寫的插件是右鍵單擊Package Explorer中的任何IJavaElement節點,它將顯示一個更多的動作,該動作將彈出一個GUI對話框,讓我填寫一些值並將結果保存到我的數據庫。
現在我的問題是:
我可以寫一個獨立的基於SWT GUI應用程序,但我不知道如何把下面的代碼片段在
public void run(IAction action)
Display display = new Display(); Shell shell = new Shell(display); shell.setLayout(new GridLayout()); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose();
我發現的所有SWT教程都是在主界面中創建Shell,Display,但看起來應該在Eclipse插件中做不同的處理。在開發Eclipse插件時,我必須使用JFace創建Dialog嗎?
沒有在plugin.xml依賴關係中添加
org.eclipse.swt(.cocoa.macosx.x86_64.source)
,只有在右鍵單擊IJavaElement
時,我才能顯示該操作。但是,當我嘗試運行行動,日食會顯示Problem Occurred Unhandled event loop exception Not implemented [multiple displays]
我想這是因爲我新的更
Display
。但是,如果我將org.eclipse.swt(.cocoa.macosx.x86_64.source)
添加到plugin.xml依賴項中,我的操作甚至不會顯示在彈出菜單中。