java实现窗体JFrame加载动态图片
时间: 2024-01-05 14:04:50 浏览: 53
要在JFrame窗体中加载动态图片,可以使用JLabel组件和Timer类来实现。
以下是一个示例代码:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class DynamicImageFrame extends JFrame {
private JLabel imageLabel; // 图片标签
private ImageIcon[] imageIcons; // 图片数组
private int currentIndex; // 当前图片索引
public DynamicImageFrame() {
setTitle("动态图片");
setSize(500, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
// 初始化图片数组
imageIcons = new ImageIcon[3];
imageIcons[0] = new ImageIcon("image1.jpg");
imageIcons[1] = new ImageIcon("image2.jpg");
imageIcons[2] = new ImageIcon("image3.jpg");
// 初始化图片标签
imageLabel = new JLabel(imageIcons[currentIndex]);
imageLabel.setHorizontalAlignment(SwingConstants.CENTER);
imageLabel.setVerticalAlignment(SwingConstants.CENTER);
add(imageLabel, BorderLayout.CENTER);
// 设置定时器,每隔一段时间切换图片
Timer timer = new Timer(1000, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
currentIndex = (currentIndex + 1) % imageIcons.length;
imageLabel.setIcon(imageIcons[currentIndex]);
}
});
timer.start();
}
public static void main(String[] args) {
DynamicImageFrame frame = new DynamicImageFrame();
frame.setVisible(true);
}
}
```
在上述代码中,首先定义了一个JLabel组件,用于显示图片。然后定义了一个ImageIcon数组,用于存储要显示的图片。在构造函数中,将第一张图片添加到图片标签中,并使用Timer类每隔一段时间切换图片。在定时器的ActionListener中,通过改变数组索引和设置图片标签的图标来实现动态显示图片。最后在main方法中创建JFrame窗体并显示出来。