栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

单击时Java Swing中的图像动画

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

单击时Java Swing中的图像动画

在中显示第一个图像(动画帧)

JLabel
。当用户单击按钮时,启动一个Swing
Timer
,它将标签的图标更改为下一帧,并在显示所有帧后循环播放。当用户再次单击该按钮时,停止动画。

import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.net.URL;import javax.imageio.ImageIO;import javax.swing.*;class Chomper {    public static void main(String[] args) throws Exception {        final Image[] frames = { ImageIO.read(new URL("http://i.stack.imgur.com/XUmOD.png")), ImageIO.read(new URL("http://i.stack.imgur.com/zKyiD.png")), ImageIO.read(new URL("http://i.stack.imgur.com/4maMm.png")), ImageIO.read(new URL("http://i.stack.imgur.com/wn9V5.png"))        };        Runnable r = new Runnable() { @Override public void run() {     JPanel gui = new JPanel(new BorderLayout());     final JLabel animation = new JLabel(new ImageIcon(frames[0]));     gui.add(animation, BorderLayout.CENTER);     ActionListener animate = new ActionListener() {         private int index = 0;         @Override         public void actionPerformed(ActionEvent e) {  if (index<frames.length-1) {      index++;  } else {      index = 0;  }  animation.setIcon(new ImageIcon(frames[index]));         }     };     final Timer timer = new Timer(200,animate);     final JToggleButton b = new JToggleButton("Start/Stop");     ActionListener startStop = new ActionListener() {         @Override         public void actionPerformed(ActionEvent e) {  if (b.isSelected()) {      timer.start();  } else {      timer.stop();  }         }     };     b.addActionListener(startStop);     gui.add(b, BorderLayout.PAGE_END);     JOptionPane.showMessageDialog(null, gui); }        };        // Swing GUIs should be created and updated on the EDT        // http://docs.oracle.com/javase/tutorial/uiswing/concurrency/initial.html        SwingUtilities.invokeLater(r);    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/496948.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号