Come visualizzare GIF animati nell'applicazione Java?Mostra animazione GIF
risposta
Utilizzando oscillazione si può semplicemente utilizzare un JLabel
public static void main(String[] args) throws MalformedURLException {
URL url = new URL("<URL to your Animated GIF>");
Icon icon = new ImageIcon(url);
JLabel label = new JLabel(icon);
JFrame f = new JFrame("Animation");
f.getContentPane().add(label);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
}
controllarlo fuori:
http://java.sun.com/docs/books/tutorial/uiswing/components/icon.html#getresource
Link molto utile e interessante, grazie. – Benj
per il caricamento di Gif animate archiviati in un pacchetto sorgente (nel codice sorgente), questo ha funzionato per me:
URL url = MyClass.class.getResource("/res/images/animated.gif");
ImageIcon imageIcon = new ImageIcon(url);
JLabel label = new JLabel(imageIcon);
Questo è esattamente ciò che non funziona per me. L'immagine viene caricata, ma viene mostrato solo il primo fotogramma, nessuna animazione. – lukfi
public class aiubMain {
public static void main(String args[]) throws MalformedURLException{
//home frame = new home();
java.net.URL imgUrl2 = home.class.getResource("Campus.gif");
Icon icon = new ImageIcon(imgUrl2);
JLabel label = new JLabel(icon);
JFrame f = new JFrame("Animation");
f.getContentPane().add(label);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
}
}
Questo lavoro per me!
public void showLoader(){
URL url = this.getClass().getResource("images/ajax-loader.gif");
Icon icon = new ImageIcon(url);
JLabel label = new JLabel(icon);
frameLoader.setUndecorated(true);
frameLoader.getContentPane().add(label);
frameLoader.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frameLoader.pack();
frameLoader.setLocationRelativeTo(null);
frameLoader.setVisible(true);
}
È bene aggiungere alcune spiegazioni sul tuo codice. Com'è diverso, perché farlo funzionare. Grazie (moderatore). –
Sono venuto qui a cercare la stessa risposta, ma sulla base delle migliori risposte, mi si avvicinò con un codice più semplice. Spero che questo possa aiutare le ricerche future.
Icon icon = new ImageIcon("src/path.gif");
try {
mainframe.setContentPane(new JLabel(icon));
} catch (Exception e) {
}
//Class Name
public class ClassName {
//Make it runnable
public static void main(String args[]) throws MalformedURLException{
//Get the URL
URL img = this.getClass().getResource("src/Name.gif");
//Make it to a Icon
Icon icon = new ImageIcon(img);
//Make a new JLabel that shows "icon"
JLabel Gif = new JLabel(icon);
//Make a new Window
JFrame main = new JFrame("gif");
//adds the JLabel to the Window
main.getContentPane().add(Gif);
//Shows where and how big the Window is
main.setBounds(x, y, H, W);
//set the Default Close Operation to Exit everything on Close
main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Open the Window
main.setVisible(true);
}
}
ho voluto mettere il file .gif in una GUI, ma visualizzati con altri elementi. E il file .gif verrebbe preso dal progetto java e non da un URL.
1 - superiore dell'interfaccia sarebbe un elenco di elementi in cui possiamo scegliere uno
2 - Centro sarebbe l'immagine GIF animata
3 - In basso visualizzerebbe l'elemento scelto dalla lista
Ecco il mio codice (ho bisogno di 2 file java, il primo (Interf.java) chiama il secondo (Display.java)):
1 - Interf.java
public class Interface_for {
public static void main(String[] args) {
Display Fr = new Display();
}
}
2 - Display.java
Info: Be shure per creare una nuova cartella di origine (NUOVO> cartella di origine) nel progetto Java e mettere il .gif interno per poter essere visto come un file.
Ottengo il file gif con il codice qui sotto, quindi posso esportarlo in un progetto jar (è quindi animato).
URL url = getClass(). GetClassLoader(). GetResource ("fire.gif");
public class Display extends JFrame {
private JPanel container = new JPanel();
private JComboBox combo = new JComboBox();
private JLabel label = new JLabel("A list");
private JLabel label_2 = new JLabel ("Selection");
public Display(){
this.setTitle("Animation");
this.setSize(400, 350);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
container.setLayout(new BorderLayout());
combo.setPreferredSize(new Dimension(190, 20));
//We create te list of elements for the top of the GUI
String[] tab = {"Option 1","Option 2","Option 3","Option 4","Option 5"};
combo = new JComboBox(tab);
//Listener for the selected option
combo.addActionListener(new ItemAction());
//We add elements from the top of the interface
JPanel top = new JPanel();
top.add(label);
top.add(combo);
container.add(top, BorderLayout.NORTH);
//We add elements from the center of the interface
URL url = getClass().getClassLoader().getResource("fire.gif");
Icon icon = new ImageIcon(url);
JLabel center = new JLabel(icon);
container.add(center, BorderLayout.CENTER);
//We add elements from the bottom of the interface
JPanel down = new JPanel();
down.add(label_2);
container.add(down,BorderLayout.SOUTH);
this.setContentPane(container);
this.setVisible(true);
this.setResizable(false);
}
class ItemAction implements ActionListener{
public void actionPerformed(ActionEvent e){
label_2.setText("Chosen option: "+combo.getSelectedItem().toString());
}
}
}
- 1. Animazione Gif in WPF
- 2. Ridimensiona animazione GIF, pil/imagemagick, python
- 3. mostra animazione quando addsubview
- 4. Mostra animazione "caricamento" sul pulsante clic
- 5. Qt Mostra/nascondi animazione widget
- 6. Mostra nascondi div con animazione
- 7. Come registrare lo schermo e salvarlo come animazione gif?
- 8. Animazione di una gif al passaggio del mouse
- 9. Animazione tipo GIF per marker in google map api ANDROID
- 10. visualizza un'animazione gif in WPF
- 11. Android WebView non mostra animazione javascript
- 12. nascondi/mostra fab con animazione scala
- 13. Espresso congelamento in mostra con loop animazione
- 14. Modifica GIF in C#
- 15. libreria gif avanzata
- 16. GIF animato in HTML5 canvas
- 17. Animazione mostra/nascondi vista principale in UISplitViewController in iOS 8
- 18. Mostra animazione in attesa durante l'azione reindirizzamento mvc
- 19. Lista di animazione non funzionante - mostra solo il primo elemento
- 20. Animazione uniforme della visualizzazione nascondi/mostra nel layout lineare android
- 21. Visualizzazione dell'animazione Gif in java
- 22. Come posso visualizzare una gif animata in React Native?
- 23. È possibile mettere in pausa un'immagine .gif?
- 24. Animazione di Facebook come fanno?
- 25. Copia GIF su UIPasteboard
- 26. Errore encoder gif animato
- 27. Split GIF in frame
- 28. Supporto GIF animato Android
- 29. Mostra gif di caricamento dopo aver fatto clic sul pulsante di invio?
- 30. Mostra gif di caricamento dopo aver fatto clic su Invia modulo utilizzando jQuery
Per qualche ragione, se si ottiene il vostro 'oggetto ImageIcon' con qualcosa di simile questa icona' Icona = new ImageIcon (ImageIO.read (getClass() getResourceAsStream ("iconasresource.gif")).); 'La tua GIF non verrà animato –
Infatti, la creazione di un ImageIcon con ImageIO.read non anima la gif per qualche motivo. Forse ovvio, ma puoi ottenere l'URL della risorsa con: 'URL url = getClass(). GetResource ("/img.gif ");'. –
Lo sto usando con Java8 e non sta animando la mia GIF ... –