java中基于timer计时器的图片播放

所有注释放在代码中...(图片的加入使用硬代码)


package com.sxt.jtime;

import java.awt.BorderLayout;

public class Itimer_test extends JFrame {

private JPanel contentPane;
private int index = 0;//图片播放计数器
private ImageIcon[] img;//声明数组用来存放要播放的图片
JLabel label;//声明为全局变量用来显示图片
private javax.swing.Timer time;//声明的计数器
private boolean istime;//用来标记自动播放 是否

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Itimer_test frame = new Itimer_test();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public Itimer_test() {
this.istime=true;
this.img = new ImageIcon[] { new ImageIcon("images/addStu.png"),
new ImageIcon("images/back.png"),
new ImageIcon("images/delstu.png"),
new ImageIcon("images/option.png"),
new ImageIcon("images/png_1.png") };
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);

//计时器的声明
this.time = new javax.swing.Timer(1000, new ActionListener() {

@Override
public void actionPerformed(ActionEvent arg0) {
if (index == img.length - 1) {
index = 0;
} else {
index++;
}
label.setIcon(img[index]);
}
});

//上一张播放的按钮事件
JPanel panel = new JPanel();
contentPane.add(panel, BorderLayout.SOUTH);

JButton btnup = new JButton("\u4E0A\u4E00\u5F20");
btnup.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {

}
});
panel.add(btnup);

//自动比方的按钮事件
JButton btngo = new JButton("\u81EA\u52A8");
btngo.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
if(istime){
time.start();
istime=false;
}else{
time.stop();
istime=true;
}

}
});
panel.add(btngo);

//下一张图片的按钮事件
JButton btnnext = new JButton("\u4E0B\u4E00\u5F20");
btnnext.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// index++;
// label = new JLabel(this.img[index]);
if (index == img.length - 1) {
index = 0;
} else {
index++;
}
label.setIcon(img[index]);// 为label设置图片的额时需要做的是使用set.. 方法
}
});
panel.add(btnnext);

label = new JLabel(this.img[0]);
contentPane.add(label, BorderLayout.CENTER);
}

}

java中基于timer计时器的图片播放,码迷,mamicode.com

时间: 2024-10-14 02:31:04

java中基于timer计时器的图片播放的相关文章

JAVA中生成二维码图片的方法

JAVA中生成二维码的方法并不复杂,使用google的zxing包就可以实现.下面的方法包含了生成二维码.在中间附加logo.添加文字功能. 一.下载zxing的架包,并导入项目中,如下: 最主要的包都在com.google.zxing.core下.如果是maven项目,maven依赖如下: 1 <dependency> 2 <groupId>com.google.zxing</groupId> 3 <artifactId>core</artifact

Java中基于UDP协议的的网络编程(基础篇)

---恢复内容开始--- 一:什么是网络编程? 通俗的来说, 网络编程就是编写程序,让联网的两个或多个设备(例如计算机)之间进行数据传输.Java语言也支持网络编程,JDK提供的 java.net包提供了很多于网络编程相关的类,来支持网络编程方面的学习. 二:java网络编程所使用的协议? 有了计算机网络的基础,我们不难理解,在java中,网络编程是基于网络传输协议的. java网络编程,可以是基于TCP协议的,也可以基于UDP协议的.那么首先我们得知道tcp协议和udp两种协议的区别. 区别:

Java中基于HTTP协议网络编程

java中为我们的网络支持提供了java.net包,能够使我们以编程的方式来訪问Web服务功能,这篇博客,就跟大家分享一下.Java中的网络编程的知识.主要是学习下该java.net包下的API. URI-->URL URI:表示的是统一的资源标识,它是以某种统一的方式标识资源的简单字符串. 这样的字符串以scheme开头. URL:表示统一的资源定位器的任务,URL是一种URI. URN:一般不能为资源提供持久不变的名称.这是统一的资源命名的任务.URN也是一种URI,但它是全球唯一的.持久不

Java中的Timer和TimerTask在Android中的用法(转)

转自:http://blog.csdn.net/zuolongsnail/article/details/8168689 在开发中我们有时会有这样的需求,即在固定的每隔一段时间执行某一个任务.比如UI上的控件需要随着时间改变,我们可以使用Java为我们提供的计时器的工具类,即Timer和TimerTask. Timer是一个普通的类,其中有几个重要的方法:而TimerTask则是一个抽象类,其中有一个抽象方法run(),类似线程中的run()方法,我们使用Timer创建一个他的对象,然后使用这对

Java中的Timer和TimerTask来实现多线程

Timer是一种线程实施,用来安排以后在后台线程中执行的任务,可安排任务执行一次或者定期重复执行,可以看成一个定时器,可以调度TimerTask,TimerTask是一个抽象类,实现了Runnable接口,所以具备多线程的能力. //定义一个线程周期性做某件事 0.2s new Timer.schedule(new TimerTask() { @override public void run(){ //周期性做什么事情 } },0,200); http://www.bdqn.cn/news/2

java中的Timer

一个java中用Timer做的简单定时器小程序. package com.test.lx; import java.util.TimerTask; public class TimeTaskTest extends TimerTask { @Override public void run() { System.out.println("Time invoked"); } } 测试类: package com.test.lx; import java.util.Timer; publi

Java 中的 Timer

java.util.Timer功能1) 可以安排自劢的计划仸务的类, 每个仸务都是一个线程2) 创建Timer 实例3) 为Timer 实例增加计划仸务, 计划仸务是一个接口4) 使用cancel() 清除timer对象上所有计划仸务 1. Timer timer = new Timer(); timer.schedule(new TimerTask(){run() ......},0,3000) //每隔3s一次 scheduleAtFixedRate的重点应该是FixedRate,就是说按照

java中FileInputStream和FileOutputStream对图片操作的例子

1 package a.ab; 2 3 import java.io.FileInputStream; 4 import java.io.FileNotFoundException; 5 import java.io.FileOutputStream; 6 import java.io.IOException; 7 8 public class ClassA { 9 public static void main(String[] args) { 10 try { 11 FileInputStr

Global中的Timer计时器

protected void Application_Start(object sender, EventArgs e)//端口启动的事件        {            Hzjg.Common.Utility.Log.FilePath = Server.MapPath("~/") + "\\log"; // 在应用程序启动时运行的代码              System.Timers.Timer myTimer = new System.Timers.