2012-02-05 3 views
0

Java와 Swing GUI 프레임 워크로 작업하는 지금까지 인터페이스를 구성 요소에 애니메이션으로 적용하는 방법을 결코 알지 못했습니다.자바 : GUI 애니메이션을하는 방법?

나는 화면을 다음 화면으로 왼쪽으로 슬라이드 시키거나 JLabel을 새 위치로 "옮기고"싶다고 말합니다. 아마 당신은 메뉴가 애니메이션 방식으로 부드럽게 열리길 원할 것입니다. 이게 어떻게 작동합니까?

SwingWorker를 사용해야합니까? 그 경우에도 레이아웃 관리자가 이미 구성 요소의 페인팅을 수행하고 있다면 구성 요소의 페인팅을 어떻게 제어 할 수 있습니까?

+1

그래도 좋은 답변을 얻지 못하면 질문을 조정하거나 현상금을 제공해야합니다. – Paul

+0

하지만 내가 명성을 포기하고 싶지 않으면 어떻게해야 하하. 하지만 진지하게 ... 그 비용은 정확히 무엇입니까? 특권을 잃어 버리십니까? – bgroenks

+0

http://stackoverflow.com/questions/how-to-ask 참조 http://stackoverflow.com/faq#bounty – Paul

답변

2

나는 예, 스윙의 애니메이션

javax.swing.Timer이며, 사용 SwingWorker를위한 이유가, SwingWorker이 이벤트 발송 쓰레드에있을 것이다 출력에 긴 backgroung에 작업 (들)을 실행하기위한이 지정되지 않은 생각 here

+0

네,하지만이 작업은 순수한 paintComponent 오버라이드의 타이밍 애니메이션 이상을 포함합니다. 보간법에 대해서 더 생각하고 있습니다. – bgroenks

+0

@ ghostsoldier23 : 일반적으로 javax.swing.Timer를 사용하여 _view_를 반복합니다. _model_를 반복하기 위해서'SwingWorker'를 사용하십시오. – trashgod

4

Filthy Rich Clients 책을 살펴보면 정말 좋은 답변을 찾을 수 있습니다.

+0

훌륭한 책입니다. 저자가 Java One에서이 주제에 관해 이야기하는 것을 들었고 책만큼 재미 있고 유익했습니다. 너무 나쁜 그들은 구글에 의해 동화되었고 지금 작은 화면 (안드로이드)을 위해 글을 쓴다. – Paul

+0

+1,이 책을 구매하는 것이 좋습니다! 나는 그것을 나 자신으로 소유하고있다. : D – mre

+0

이것을 고려할 것입니다. – bgroenks

2

Trident 라이브러리를 살펴보십시오. 클래스의 다양한 속성을 보간하는 데 사용할 수 있습니다.

+0

흥미 롭습니다. 그것은 타임 라인의 개념을 기반으로 이것을 처리합니까? – bgroenks

+0

@ ghostsoldier23 예, 타임 라인 및 타임 라인 시나리오, webstart [demos] (http://www.pushing-pixels.org/2009/06/25/trident-part-8-timeline-scenarios.html)를 확인하십시오. – tenorsax