Это поведение очень специфично для операционной системы Windows, и поэтому нет способа сделать это в стандартном JDK или с AWT / Swing, поскольку они должны согласованно работать в ряде различных операционных систем.
Ближайший эквивалент того, что вы хотите, это получить границы текущего экрана и переместить / изменить размер окна так, чтобы оно совпало с одной стороной, хотя теперь это будет иметь какой-либо эффект на рабочем столе или в других окнах.
Ближайшая вещь, которую вы, вероятно, получите к тому, что вы хотите, это использовать JNIWrapper и WinPack для изменения поведения собственного окна.Однако в их документации ничего не говорится о панелях инструментов рабочего стола.Возможно, вам придется использовать их JNI для прямого доступа к определенным функциям COM, а затем узнать, как это сделать в C ++, но если вы не знаете C ++, это, вероятно, выходит за рамки вашего проекта.
Приложение:
Если вы хотите использовать встроенные функции для определенных операционных систем и менеджеров рабочего стола, вам нужно будет подключиться с native C ++ библиотекой для подключения к Gnome, KDE,Mac OS и т. Д. Найдите «Java JNI» и систему управления окнами, с которой вы хотите интегрироваться, чтобы найти пакеты, которые вы можете использовать.Например, для Gnome см. здесь .
Если вы хотите поддерживать несколько операционных систем, убедитесь, что вы создали общий интерфейс, чтобы вы могли создавать реализации, которые соединяются с соответствующими JNI в зависимости откакой из них доступен во время выполнения, и разрешить откат, если ни один из них не доступен.
PS.Если вам нужны всплывающие уведомления в вашем приложении, Mac OS и различные сборки Linux поддерживают Growl, что может сэкономить вам время.