Java GUI实现图片切换—超详细注释讲解
1.本文实现的是使用GUI实现六张图片的来回切换,首先在项目下准备一个image文件夹,里面放置六张图片,点击“上一张”、“下一张”按钮可以进行图片切换,并且能够判断到第一张和最后一张的位置,并弹出提示框。
在项目下新建imge文件夹,文件夹下存放(img1.jpg ---- img6.jpg)六张图片。
2.代码如下(注释已标明):
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
public class ImageChanges extends JFrame{
private JFrame jf;
private JButton button1;//上一张图片按钮
private JButton button2;//下一张图片按钮
private JLabel label;//label用于摆放图片
private int i = 3;//设置全局的图片张数变量,默认值为3
ImageChanges(){
jf = new JFrame("图片变换");
label = new JLabel("");
label.setIcon(new ImageIcon("image/img" +i + ".jpg"));//先给label添加一张默认图片,即img3.jpg
label.setBounds(111, 44, 217, 200);//设置label的位置和大小
jf.setBounds(700, 300, 500, 500);//设置jf的位置和大小
jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);//设置程序和窗口同步关闭
jf.getContentPane().setLayout(null);//窗体绝对布局
button1 = new JButton("上一张");
//点击切换上一张图片
button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
button2.setEnabled(true);//将“下一张”按钮设置为有效
i--;//点击上一张,i--
label.setIcon(new ImageIcon("image/img" + i +".jpg"));//重新为label设置新图片
if (i == 1){//如果到达第一张,将“上一张按钮设置为失效”
button1.setEnabled(false);
JOptionPane.showMessageDialog(ImageChanges.this, "当前为第一张图片");//并弹出提示框
}
}
});
button1.setBounds(111, 285, 93, 35);
jf.getContentPane().add(button1);
button2 = new JButton("下一张");
//点击切换下一张图片
button2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
button1.setEnabled(true);//将“上一张”按钮设置为有效
i++;
label.setIcon(new ImageIcon("image/img" + i +".jpg"));
if (i == 6){//如果到达最后一张,将“下一张按钮设置为失效”
button2.setEnabled(false);//按钮设置为失效状态
JOptionPane.showMessageDialog(ImageChanges.this, "当前浏览相册至底部");//并弹出提示框
}
}
});
button2.setBounds(232, 285, 93, 35);
jf.getContentPane().add(button2);
jf.getContentPane().add(label);
jf.setVisible(true);//设置窗体可见
}
public static void main(String[] args) {
new ImageChanges();
}
}
3.项目文件目录设置好后,代码即可用。