Проверьте цель события щелчка окна (она должна распространить к окну, пока она не получена больше нигде), и удостоверьтесь, что это не ни один из элементов меню. Если это не, то Вы вне своего меню.
Или проверка положение щелчка, и видит, содержится ли это в области меню.
Как я уверен, вы обнаружили, что существует множество библиотек для java, которые позволяют вам реализовать такого рода нарушенную карту.
Их гораздо больше (гораздо больше), я лично предпочитаю Hazelcast, начать работу безумно легко. Все фреймворки кеширования, которые я перечислил (я думаю), полагаются на возможность (по крайней мере временно) загружать всю запись в память, это может быть проблемой, если вы пытаетесь поместить содержимое больших файлов в их.
В вашем случае я, вероятно, использовал бы нарушенную карту для хранения данных о местоположении, то есть некоторых данных, чтобы сообщить любому другому узлу, где находится файл particalar, а затем перейти непосредственно к этому узлу, используя какой-либо метод вне границ, например как HTTP.
а затем перейдите непосредственно к этому узлу, используя какой-либо метод, выходящий за рамки, например HTTP. а затем перейдите непосредственно к этому узлу, используя какой-либо метод, выходящий за рамки, например HTTP.Похоже, вы ищете: Project Voldemort или другой Ключ => Значения хранилищ данных с автоматическим переключением при отказе, репликацией и т. Д.
Выше есть несколько хороших ответов для распределенной хэш-карты.
Для фактического копирования файла, если это вообще возможно, я предпочел бы ничего не копировать и просто использовать какое-нибудь решение для общего хранилища. Если вам необходимо использовать отдельные диски для каждого компьютера, тогда подойдет что-нибудь простое, например, настройка FTP-сервера на каждом компьютере. Это не обязательно должно быть основано на Java, но если вам нужно решение только для Java, то может работать что-то вроде Apache MINA .
Для фактического копирования файла, если это вообще возможно, я предпочел бы ничего не копировать и просто использовать какое-нибудь решение для общего хранилища. Если вам необходимо использовать отдельные диски для каждого компьютера, тогда подойдет что-нибудь простое, например, настройка FTP-сервера на каждом компьютере. Это не обязательно должно быть основано на Java, но если вам нужно решение только для Java, то может работать что-то вроде Apache MINA .
Для фактического копирования файла, если это вообще возможно, я предпочел бы ничего не копировать и просто использовать какое-нибудь решение для общего хранилища. Если вам необходимо использовать отдельные диски для каждого компьютера, тогда подойдет что-нибудь простое, например, настройка FTP-сервера на каждом компьютере. Это не обязательно должно быть основано на Java, но если вам нужно решение только для Java, то может работать что-то вроде Apache MINA .
JXTA - это инфраструктура одноранговой связи Java от Sun, которая, скорее всего, будет использоваться здесь.
Или ознакомьтесь с Jini и его возможностью аренды услуг , динамическое обнаружение и независимая от протокола связь клиент / сервер. Используя Jini, вы можете опубликовать каждую службу с определенными атрибутами (в данном случае с вашим именем файла?) Или, возможно, использовать ее с Javaspaces (однако я не уверен в уместности здесь пробелов)