-1
我有一個RCP程序,包含3個部分 - 2個視圖(左側,2個部分)和各種編輯器(右側和另一個部分)。 在我的觀點我有樹,我可以打開編輯器(其他部分)。 在編輯,我可以打開另一個編輯器,但我需要過去,當我打電話編輯的對象,我做它:addMouseListener(new MouseAdapter() { @Override public void mouseDown(MouseEvent e) {....
使用另一個編輯器上的按鈕打開編輯器RCP,SWT,JAVA
我的按鈕:
btnNewButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseDown(MouseEvent e) {
IHandlerService handlerService = (IHandlerService) getSite().getService(IHandlerService.class);
try {
handlerService.executeCommand("XPTO.command", null);
} catch (Exception ex) {
throw new RuntimeException(
"XPTO");
}
}
});
我的命令:
public class CallEditors extends AbstractHandler {
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
System.out.println("calledEditor");
// Get the view
IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event);
IWorkbenchPage page = window.getActivePage();
Editor navEditor = (Editor) page.findEditor(Editor.IDI);
}}
感謝
我有了答案:
btnNewButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseDown(MouseEvent e) {
// Get the view
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
IWorkbenchPage page = window.getActivePage();
Object obj = btnNewButton.getData();
if (obj != null) {
xPTO input = new xPTO();
try {
page.openEditor(input, xptoEditor.ID, false);
} catch (PartInitException e1) {
throw new RuntimeException(e1);
}
}
}
什麼是這裏的問題? –
如何在另一個編輯器上使用按鈕打開編輯器? – kaub0st3r