2012-02-05 4 views
0

За все время работы с Java и его графическим интерфейсом Swing я никогда не понимал (или даже пытался попробовать), как сделать компоненты анимации интерфейса.Java: Как сделать анимацию графического интерфейса?

Скажем, я хотел, чтобы экран скользил влево на следующий экран или имел «летать» в новое место JLabel. Возможно, вы хотите, чтобы меню плавно открывалось анимированным образом. Как это работает?

Вам нужно использовать SwingWorker? Даже если это так ... как вы можете контролировать окраску компонентов, если менеджер компоновки уже делает это?

+1

Как и следовало ожидать, но если у вас нет хороших ответов, вам либо нужно настроить вопрос, либо предложить щедрость. – Paul

+0

Но что, если я не хочу отказываться от репутации ха-ха. Но серьезно ... какова именно стоимость этого? Вы теряете привилегии? – bgroenks

+0

См. Http://stackoverflow.com/questions/how-to-ask, а также http://stackoverflow.com/faq#bounty – Paul

ответ

2

Я думаю, что нет оснований для использования SwingWorker, SwingWorker не предназначен для запуска долго фоновая задача (ы) на выходе будет на событие отправки темы,

Для анимации в свинге есть javax.swing.Timer, примеры here

+0

Да, но это связано скорее с чем-то большим, чем просто анимацией времени с чистого переопределения paintComponent. Я больше думаю о интерполяции. – bgroenks

+0

@ ghostsoldier23: В общем, используйте 'javax.swing.Timer' для итерации _view_; используйте 'SwingWorker' для итерации _model_. – trashgod

4

Посмотрите на книгу Filthy Rich Clients, вы найдете здесь действительно хорошие ответы.

+0

Это отличная книга. Я слышал, как авторы говорили на Java One по этой теме, и они были такими же интересными и информативными, как и книга. Слишком плохо, что они были ассимилированы Google и теперь пишут для небольшого экрана (Android). – Paul

+0

+1, очень рекомендую приобрести эту книгу! Я сам владею им. : D – mre

+0

Я это рассмотрю. – bgroenks

2

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

+0

Интересно. Он обрабатывает это на основе концепции сроков? – bgroenks

+0

@ ghostsoldier23, да, сроки и сценарии временной шкалы, проверить веб-сайт [demos] (http://www.pushing-pixels.org/2009/06/25/trident-part-8-timeline-scenarios.html) – tenorsax

Смежные вопросы