Java에서 애니메이션 GIF 표시

Shubham Vora 2024년2월15일
Java에서 애니메이션 GIF 표시

javax 패키지의 Swing 라이브러리 메서드를 사용하여 Java에서 애니메이션 GIF를 표시할 수 있습니다. 이 기사에서는 사용자가 Java 애플리케이션 또는 별도의 창에서 애니메이션 GIF를 표시하는 방법을 소개합니다.

Javax.swing 라이브러리를 사용하여 Java에서 애니메이션 GIF 표시

아래 예제 코드에서는 필요한 라이브러리를 가져왔습니다. javax.swing 라이브러리의 jLabeljFrame 클래스를 사용합니다.

또한 Java.net 라이브러리의 URL 클래스를 사용하고 있습니다. URL에서 GIF를 읽기 위해 URL 클래스의 객체를 생성하고 GIF의 위치 URL을 인수로 전달했습니다.

해당 URL에서 ImageIcon 클래스의 개체를 사용하여 이미지 아이콘을 만들었습니다.

다음으로 Imageicon에서 jLabel을 만들었습니다. 이제 jLabel을 표시할 프레임을 만듭니다.

그런 다음 GIF를 표시하기 위해 프레임에 라벨을 추가했습니다. 마지막으로 frame.setVisible(true)을 사용하여 visible을 true로 설정했습니다.

예제 코드:

// import required libraries
import java.net.*;
import javax.swing.*;
public class TestClass {
  public static void main(String[] args) {
    try {
      // create a new URL from the image URL
      URL ImageUrl =
          new URL("https://www.delftstack.com/img/HTML/page%20redirects%20to%20index.gif");
      // Create image icon from URL
      Icon imageIcon = new ImageIcon(ImageUrl);
      // Create a new JLabel from the icon
      JLabel label = new JLabel(imageIcon);
      // Create a new JFrame to append the icon
      JFrame frame = new JFrame("Animation");
      // add a label to JFrame
      frame.getContentPane().add(label);
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.pack();
      frame.setLocationRelativeTo(null);
      // Show the JFrame
      frame.setVisible(true);
    } catch (Exception e) {
      System.out.println(e);
    }
  }
}

출력:

자바 애니메이션 GIF - 하나

위의 출력에서 사용자는 애니메이션 GIF를 보여주는 새 창 팝업을 볼 수 있습니다.

또한 사용자가 로컬 컴퓨터에서 GIF를 표시하려는 경우 아래 코드와 같이 ImageIcon 개체를 초기화하면서 GIF의 경로를 제공할 수 있습니다.

Icon imageIcon = new ImageIcon("<path of GIF from local computer");

로컬 컴퓨터에서 GIF를 표시하는 경우 URL 클래스 개체를 생성할 필요가 없습니다.

또한 사용자는 필요에 따라 GIF 창 프레임의 크기를 사용자 지정하고 프레임에 대한 사용자 지정 레이블을 설정할 수 있습니다.

작가: Shubham Vora
Shubham Vora avatar Shubham Vora avatar

Shubham is a software developer interested in learning and writing about various technologies. He loves to help people by sharing vast knowledge about modern technologies via different platforms such as the DelftStack.com website.

LinkedIn GitHub