Как анимировать показ JPopupMenu? - PullRequest
0 голосов
/ 03 октября 2009

Я бы хотел показать все больше и больше JPopupMenu, чтобы оно выскользнуло. Это не для пунктов меню, где анимация не имеет особого смысла. Вместо этого он предназначен для панели с некоторыми реальными компонентами (о да, вы можете добавить любой JComponent в JPopupMenu).

JPopupMenu имеет много закрытых полей и методов, что затрудняет его расширение. Кроме того, я не знаком с анимацией Swing с самого начала.

Большое спасибо за вашу помощь!

1 Ответ

0 голосов
/ 03 октября 2009

Я только что сделал это в течение последних нескольких недель. Я выбрал немного другой подход, захватил многоуровневую панель, а затем добавил пользовательскую JPanel на многоуровневую панель. В jpanel я переопределил метод getHeight, и его высота начиналась с 0. Затем я мог добавить любые компоненты, которые я хотел, в мою jpanel. В jpanel у меня был метод запуска анимации, он запускал таймер, и в таймере все, что я делал, это увеличивал высоту моей jpanel до максимального размера.

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

Еще одна вещь, вам нужно добавить mouseAdapther в jpanel, чтобы события не проходили через компоненты под слоем.

...