У меня есть небольшое приложение RCP Eclipse.
Я заметил, что в Windows 10 FileDialog
нет доступной части пути.
Я пробовал разные комбинации Style
флаги во время инициализации диалога, но он не работал.
Стоит отметить, что в Windows 7 все в порядке.
В Windows 10 нет панели навигации: 
Ожидается: 
Дальнейшее изучение этого вопроса я получил к следующему:
Правильно отображается диалоговое окно с панелью навигации, если я запускаю его из WorkbenchAdvisor
.
Код в основном такой:
@Override
public Object start(IApplicationContext context) throws Exception {
try {
int returnCode = PlatformUI.createAndRunWorkbench(display, new WorkbenchAdvisor() {
@Override
public void postStartup() {
// THIS MAKES THE DIALOG APPEAR WITHOUT NAVIGATION BAR
Display display = new Display();
Shell shell = new Shell(display);
FileDialog dialog = new FileDialog (shell, SWT.OPEN | SWT.MULTI);
dialog.open();
shell.close();
while (!shell.isDisposed ()) {
if (!display.readAndDispatch ()) {
display.sleep ();
}
}
}
});
if (returnCode == PlatformUI.RETURN_RESTART) {
return IApplication.EXIT_RESTART;
}
return IApplication.EXIT_OK;
} finally {
Display.getDefault().dispose();
}
return IApplication.EXIT_OK;
}
Мне нужночтобы можно было правильно запустить FileDialog
после запуска моего рабочего места.
Если я сделаю следующее, диалоговое окно с навигационной панелью будет отображаться правильно, но это нежелательно:
@Override
public Object start(IApplicationContext context) throws Exception {
// THIS MAKES THE DIALOG APPEAR WITH THE NAVIGATION BAR CORRECTLY
Display display = new Display();
Shell shell = new Shell(display);
FileDialog dialog = new FileDialog (shell, SWT.OPEN | SWT.MULTI);
dialog.open();
shell.close();
while (!shell.isDisposed ()) {
if (!display.readAndDispatch ()) {
display.sleep ();
}
}
Display.getDefault().dispose();
return IApplication.EXIT_OK;
}
Я до сих пор не могу понять, как это исправить или что на самом деле происходит.
ДругойИнформация о том, что если я запускаю свой RCP из Eclipse, используя конфигурацию запуска, он работает просто отлично, появляется диалоговое окно файла с панелью навигации, даже если я запускаю его внутри WorkbenchAdvisor
.