Минимизация приложения в Windows проблема - PullRequest
0 голосов
/ 29 августа 2011

Я написал простое приложение для хранения текста в БД дерби. У меня есть 2 кнопки, каждая из которых создает новый inputDialog. Моя проблема в том, что когда я запускаю программу на своем компьютере с Ubuntu, все в порядке. Когда я запускаю его на ПК с Windows 7, когда отображается диалоговое окно ввода, все сводится к минимуму и скрывается от пользователя. Поэтому каждый раз, когда я хочу получить от пользователя какую-то информацию, он должен восстановить приложение. И другая проблема заключается в том, что программа не отображается в меню alt-tab. Вот код, который я использую для отображения диалогового окна:

String s = (String) JOptionPane.showInputDialog(this, "Моля въведете име:");

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 29 августа 2011

Я попробовал следующий код - напрямую из main () через eclipse, работающий в Windows 7 64-bit.JFrame остается на дисплее, даже если я попробую иначе.

JFrame f = new JFrame();
f.setSize(750, 500);
f.show();

JOptionPane.showInputDialog(f, "hello", "there");
System.out.println("hi");

Попробуйте это, и если вы получите тот же результат, то, по крайней мере, мы знаем, что мы имеем дело с проблемой Windows, а не с Javaпроблема.

РЕДАКТИРОВАТЬ:

После просмотра вашего кода, я нашел строку обидчика.Также, как примечание, вы обычно должны звонить setVisible() после того, как вы завершили настройку своего окна.Это особенно верно в отношении моего кода, так как это вызовет исключение, если вы попытаетесь вызвать setUndecorated() после , когда вы отобразили окно.

Ваш код:

this.setVisible(true);           //This should be called after you finish configuration
device.setFullScreenWindow(this); //This is the problem!!!

Вместо этого вы должны использовать:

this.setExtendedState(JFrame.MAXIMIZED_BOTH);
this.setVisible(true);

Если вы хотите, чтобы ваше окно было полноэкранным, используйте:

this.setUndecorated(true);
this.setExtendedState(JFrame.MAXIMIZED_BOTH);
this.setVisible(true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...