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

这个博客展示了如何使用Java Swing创建一个简单的图片轮播应用。应用包含一个计时器来自动切换图片,并提供了手动切换图片的按钮。用户可以通过点击'上一张'、'下一张'或'自动播放'按钮来控制图片的展示。源代码中定义了全局变量、事件监听器和计数器,确保了图片的顺序播放和用户交互功能。
摘要由CSDN通过智能技术生成

packagecom.sxt.jtime;importjava.awt.BorderLayout;public class Itimer_test extendsJFrame {privateJPanel contentPane;private int index = 0;//图片播放计数器

private ImageIcon[] img;//声明数组用来存放要播放的图片

JLabel label;//声明为全局变量用来显示图片

private javax.swing.Timer time;//声明的计数器

private boolean istime;//用来标记自动播放 是否

/*** Launch the application.*/

public static voidmain(String[] args) {

EventQueue.invokeLater(newRunnable() {public voidrun() {try{

Itimer_test frame= newItimer_test();

frame.setVisible(true);

}catch(Exception e) {

e.printStackTrace();

}

}

});

}/*** Create the frame.*/

publicItimer_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= newJPanel();

contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

contentPane.setLayout(new BorderLayout(0, 0));

setContentPane(contentPane);//计时器的声明

this.time = new javax.swing.Timer(1000, newActionListener() {

@Overridepublic voidactionPerformed(ActionEvent arg0) {if (index == img.length - 1) {

index= 0;

}else{

index++;

}

label.setIcon(img[index]);

}

});//上一张播放的按钮事件

JPanel panel = newJPanel();

contentPane.add(panel, BorderLayout.SOUTH);

JButton btnup= new JButton("\u4E0A\u4E00\u5F20");

btnup.addActionListener(newActionListener() {public voidactionPerformed(ActionEvent arg0) {

}

});

panel.add(btnup);//自动比方的按钮事件

JButton btngo = new JButton("\u81EA\u52A8");

btngo.addActionListener(newActionListener() {public voidactionPerformed(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(newActionListener() {public voidactionPerformed(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);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值