как создать Java-приложение с раскрывающимся меню на рабочем столе для хранения значков на рабочем столе (java)

Я пытаюсь создать настольное приложение Java, содержащее значки на рабочем столе. Приложение будет представлять собой меню/панель, невидимую до тех пор, пока вы не наведете курсор на верхнюю часть экрана, после чего выпадет меню, полное значков на рабочем столе. Чтобы добавить новые значки в меню, нужно просто перетащить значки с рабочего стола в меню, и они должны привязаться к сетке. Поскольку я программист среднего уровня, но я никогда раньше не делал приложение с графическим интерфейсом на каком-либо языке, мне было интересно, может ли кто-нибудь помочь мне, как с тем, как подойти к проблеме, так и с пакетами и методами, которые я должен использовать. Кроме того, я думаю сделать это с помощью NetBeans, если у вас нет других предложений.

Спасибо, Эндрю


person Andrew    schedule 20.12.2009    source источник


Ответы (2)


В качестве альтернативы параметру Чада вы также можете сделать это, создав фрейм и используя возможность прозрачного окна, чтобы сделать рамку прозрачной (или полупрозрачной, если вы хотите подсказку, что она есть ) и с помощью событий входа/выхода мыши, чтобы вернуть кадру его обычную «сплошную» непрозрачность.

Лично я бы попробовал это решение только потому, что предпочел бы использовать уведомления на основе событий, а не опрос положения мыши, но я ожидаю, что это больше работы, чем другая альтернатива.

Что касается перетаскивания, я не использовал его достаточно широко в Java, чтобы дать какие-либо решения, но это не сразу очевидно (из беглого поиска в Интернете), как обрабатывать родное перетаскивание на рабочем столе. Я предлагаю начать с нескольких руководств по dnd в приложение, чтобы вы действительно понимали API и возможности перетаскивания Java.

person Ash    schedule 20.12.2009

Вы можете использовать java.awt.MouseInfo, чтобы получить местоположение мыши в любой момент времени, даже если у вас нет открытых окон.

Итак, вы можете запустить java-программу, а затем в своем основном цикле опросить местоположение мыши. Если он находится в «верхнем», то вы можете открыть окно.

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

Я бы начал с изучения учебника по Swing и написания нескольких простых графических интерфейсов. программы, чтобы разобраться.

Но вещь MouseInfo — это то, что вам нужно сказать, когда мышь находится в верхней части экрана.

person Chad Okere    schedule 20.12.2009