JDialog отстает после окончания выполнения индикатора - PullRequest
1 голос
/ 20 сентября 2011

У меня есть JPanel, из которого я открываю диалог поиска критериев, который расширяет AbstractAIFDialog. Он состоит из текстового поля критериев поиска, представления таблицы результатов и кнопки поиска. После нажатия кнопки «Поиск» в этом диалоговом окне мне нужно показать индикатор выполнения, пока я не получу результат из базы данных.

Я вызываю указанную ниже функцию при нажатии кнопки поиска:

SearchResult res = SearchExecuteHelperUtils.execute(searchService, 0);

Выше приведено определение функции исполнения, как показано ниже:

public static SearchResult execute(SearchProvider searchService, int nLoadAll)
        throws Exception

{    
    final Display display = PlatformUI.getWorkbench().getDisplay();
    if(display != null)
        display.syncExec(new Runnable() {

            public void run()
            {
                try
                {
                    (new ProgressMonitorDialog(display.getActiveShell())).run(true, true, executeSearch);
                }
                catch(InvocationTargetException e)
                {
                    e.printStackTrace();
                }
                catch(InterruptedException e)
                {
                    e.printStackTrace();
                }
            }

Проблема в том, что у меня открыт JPanel. Кроме того, у меня есть диалог Search criteria. При нажатии кнопки Search появляется индикатор выполнения, но после закрытия индикатора выполнения результаты заполняются в диалоговом окне Search, но диалоговое окно идет за JPanel.

Что мне делать?

1 Ответ

2 голосов
/ 20 сентября 2011

.. У меня JPanel открыто. Кроме того, у меня есть диалог Search criteria. При нажатии кнопки Search появляется индикатор выполнения, но после закрытия индикатора выполнения результаты заполняются в диалоговом окне Search, но диалоговое окно идет за JPanel.

Кажется, что JPanel должен быть компонентом, переданным JOptionPane, который показывает индикатор выполнения / результаты поиска.

...