eclipse IDE製品を362から422に移行しています。WorkbenchWindowはApplicationWindowから派生していないため、キャストキャスト例外をスローする以下のコード行があります。 eclipse 4.x用eclipse 4.xの代わりにorg.eclipse.jface.window.ApplicationWindow
ICoolBarManager coolBarMgr =((ApplicationWindow)ウィンドウ).getCoolBarManager();
例外:java.lang.ClassCastExceptionが:org.eclipse.ui.internal.WorkbenchWindowは回避策としてorg.eclipse.jface.window.ApplicationWindow
にキャストすることはできません、私はRCPアプリケーションのためのラインの下に使用することができますorg.eclipse.ui.application.WorkbenchWindowAdvisorを継承します。
ICoolBarManager coolBarMgr = getWindowConfigurer()。getActionBarConfigurer()。getCoolBarManager();
しかし、私はEclipse IDE(rcpではない)を使用して、org.eclipse.ui.application.WorkbenchWindowAdvisorを拡張するプラグインがないので、上記の回避策は役に立たない。
多くのコード変更をせずにgetWindowConfigurer()を使用せずにICoolBarManagerを取得するには、別の解決策を提案してください。 ORがあるので、org.eclipse.ui.application.WorkbenchWindowAdvisorを拡張しない別のプラグインからgetWindowConfigurer()を使用できますか?
ご協力いただければ幸いです。前もって感謝します。
ありがとうございます。これは実際には機能しますが、メソッドの使用はお勧めしません。落胆したメソッドやクラスを使用した結果、何がわかりますか?また、あなたがそれが助けになると示唆している場合は、任意の代替。再度、感謝します。 –
内部クラスはいつでも変更できますが、リリースによってコードが壊れる可能性があります。元のメソッドもルールを破っていました。なぜなら、Workbenchウィンドウが 'ApplicationWindow'を拡張したという事実は、あなたが頼りにすべきではない実装の詳細だったからです。 [Eclipse APIの利用規約](https://www.eclipse.org/articles/Article-API-Use/index.html) –
貴重なご意見ありがとうございます。 –