Java 6, JFrame застрял всегда наверху

Эта проблема возникает только после того, как я обновился с 1.5 до 1.6.

Кажется, что основной JFrame случайно застревает перед каждым другим приложением в Windows.

Даже другой всплывающий JDialog со значением alwaysontop(true) будет позади этого основного JFrame.

Любые идеи о том, что может быть причиной этой проблемы? / Есть идеи для решения? Никогда не было этой проблемы раньше на Java 5.


person user486415    schedule 25.10.2010    source источник
comment
Любые подсказки по платформе или минимальный полный пример кода?   -  person Tom Hawtin - tackline    schedule 25.10.2010
comment
Можете ли вы опубликовать код, который воспроизводит проблему? Когда вы говорите случайно, вы имеете в виду, что иногда кадр всегда находится впереди, а иногда нет, или вы имеете в виду, что он всегда был впереди без видимой причины?   -  person Cameron Skinner    schedule 25.10.2010
comment
Привет, Извините, возможно, случайно было неправильное слово. Работает нормально, пока не застревает перед всеми приложениями, а потом так и остается.   -  person user486415    schedule 25.10.2010
comment
Я никогда не видел, чтобы это происходило раньше на Java 6 с использованием XP. Вы все еще не опубликовали свой SSCCE (sscce.org), демонстрирующий проблему.   -  person camickr    schedule 25.10.2010


Ответы (2)


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

person user486415    schedule 26.10.2010

У меня также есть эта проблема в течение длительного времени, и я смог ее воспроизвести.

Когда перед фреймом открыто модальное постоянное диалоговое окно, щелкните фрейм. Фрейм наследует поведение «всегда на вершине», даже если он не настроен на то, чтобы оставаться на вершине.

Я нашел статью об этом поведении здесь.

Простое решение: диалоги не должны быть модальными и в то же время всегда наверху. Модальность уже включает в себя поведение «всегда на вершине».

person Stephan    schedule 06.12.2011