[java] 자바 스윙 컴포넌트에서 애니메이션 효과를 추가하는 방법은 어떻게 되나요?
-
스윙 Timer를 사용하는 방법
스윙 Timer를 사용하여 주기적으로 화면을 업데이트하여 애니메이션 효과를 만들 수 있습니다. 아래는 JButton을 사용하여 텍스트가 움직이는 간단한 예제 코드입니다.
import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class ButtonAnimationExample { public static void main(String[] args) { JFrame frame = new JFrame("Button Animation"); JButton button = new JButton("Animate Me"); frame.add(button); frame.setSize(300, 200); frame.setVisible(true); Timer timer = new Timer(100, new ActionListener() { int dx = 5; @Override public void actionPerformed(ActionEvent e) { int newX = button.getX() + dx; if (newX > frame.getWidth() - button.getWidth() || newX < 0) { dx = -dx; } button.setLocation(newX, button.getY()); } }); timer.start(); } }
-
스윙 애니메이션 라이브러리 사용
또 다른 방법은 Trident이나 Timing Framework 등 스윙 애니메이션 라이브러리를 사용하는 것입니다. 이러한 라이브러리를 사용하면 더 다양한 애니메이션 효과를 쉽게 구현할 수 있습니다.
위의 예시 코드처럼 스윙 Timer를 사용하거나 애니메이션 라이브러리를 활용하여 스윙 컴포넌트에 애니메이션 효과를 추가할 수 있습니다.