swing 实现图片浏览器

本文介绍了一个使用Java Swing的CardLayout布局管理器实现卡片切换效果的例子。通过按钮触发不同卡片的显示,并利用计时器实现了自动轮播功能。文章展示了完整的代码实现,包括如何设置布局、添加卡片及响应用户操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package day526;

import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.Timer;

public class TestCardLayout
implements ActionListener{
[color=red]JPanel jp2=new JPanel();
CardLayout c1=new CardLayout();
Timer t=new Timer(800,this);[/color]

public void actionPerformed(ActionEvent ae) {
String comm =ae.getActionCommand();
if("first".equals(comm)){
c1.first(jp2);
}
else if("next".equals(comm)){
c1.next(jp2);
}
else if("previous".equals(comm)){
c1.previous(jp2);
}
else if("last".equals(comm)){
c1.last(jp2);
}
[color=red]else if("play".equals(comm)){
t.start();
}
else if("stop".equals(comm)){
t.stop();
}
else{//timer
c1.next(jp2);
}[/color] }

public TestCardLayout(){
JFrame jf=new JFrame("TestCardLayout");
String [] blabel={"first","next","previous","last","play","stop"};
JPanel jp1=new JPanel();

jp2.setLayout(c1);
for(int i=0;i<blabel.length;i++){
JButton jb=new JButton(blabel[i]);
jp1.add(jb);
jb.addActionListener(this);
}
for(int i=0;i<3;i++){
Icon ic=new ImageIcon("c:\\"+(i+1)+".jpg");
JLabel jl= new JLabel(ic);
[color=red]jp2.add(jl,""+i);[/color]
}
jf.add(jp2);
jf.add(jp1,BorderLayout.SOUTH);

jf.setSize(800,600);
jf.setLocation(100,80);//
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
TestCardLayout ren=new TestCardLayout();

}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值