JavaFX: jak uruchomić animowanego gifa?
Animowane gify uruchamiane poza HTML-em wymagają użycia odpowiedniej aplikacji.
W JavaFX można to zrobić używając klasy ImageView.
Klasa Listing24c_01
Ściągnij klasę Listing24c_01
Ściągnij animowanego gifa zaba-smut.gif
package rozdzial24c; import javafx.application.Application; import javafx.application.Platform; import javafx.scene.Scene; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.StackPane; import javafx.stage.Stage; import java.io.*; public class Listing24c_01 extends Application { private BufferedInputStream bis; private FileInputStream is; public static void main(String[] args) { Application.launch(args); } @Override public void init() { try { is = new FileInputStream( "rozdzial24c/src/rozdzial24c/zaba-smut.gif"); bis = new BufferedInputStream(is); } catch (FileNotFoundException e) { e.printStackTrace(); } } @Override public void start(Stage stage) { try { Image image = new Image(bis); ImageView imageView = new ImageView(image); StackPane root = new StackPane(); root.getChildren().add(imageView); Scene scene = new Scene(root); stage.setScene(scene); stage.setOnCloseRequest(e -> Platform.exit()); stage.setTitle("Animowany gif w ImageView"); stage.show(); } catch (Exception e) { e.printStackTrace(); } } @Override public void stop() { if (bis != null) { try { bis.close(); } catch (IOException e) { e.printStackTrace(); } } if (is != null) { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } } }
Po uruchomieniu klasy zobaczymy animowanego gifa (Rys. 24_01)