Как создать всплывающее меню в Java

Как создать всплывающее меню в JavaВсплывающее, или контекстные, меню (pop-up menu) — это меню, не связанные со строкой, а отображающейся в произвольно выбранной позиции на экране.

Всплывающее меню создается так же, как и обычное, за одним исключением — оно не имеет заголовка:

Пункты меню добавляются, как обычно:

Как создать всплывающее меню в Java

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

Обычно всплывающее меню отображается на экране< когда пользователь щелкает специально предназначенной для этого кнопкой — так называемым тригерром всплывающего меню(pop-up trigger). В системах Windows и Linux это не первая(обычно правая) кнопка мыши. Для вызова меню после щелчка кнопкой вызывается следующий метод:

Часто приходится размещать компонент внутри другого компонента, с которым связано выплывающее меню. Для этого чтобы дочерний компонент наследовал меню родительского компонента, надо вызвать метод:

Приведенные выше методы были реализованы в Java SE 5.0 для того, чтобы исключить зависимость программиста от особенностей работы с контекстным меню в конкретной системе. В предшествующих версиях Java SE приходилось устанавливать обработчик событий, связанных с мышью, и задавать представленный ниже код как в методе mousePressed(), так и методе mouseReleased():

Причина в том, что в некоторых системах всплывающее меню отображается при нажатии кнопки мыши, а в других — при отпускании кнопки.