如何在java中随机显示图片那是在太简单了,方法1可以给每个照片用数字起名,然后生成随机数,用随机数拼接字符串生产图片的URL就可以了,方法2是用数据库两个字段id和URL随机产生id然后读取对应的URL , 方法3 , 用file类的特性,先得到图片文件夹的URL,这样可以得到下面所有文件,可以存到一个ListFile中,然后生成个随机数,用这个随机数get出list里面的File
java随机图片显示参考代码.你可以对照修改
import java.awt.BorderLayout;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.*;
public class Picture extends JFrame {
private JLabel picture;
public Picture() {
ImageIcon[] icons = new ImageIcon[4];//四张图的icon对象
String photopath = "";
【java图片随机显示代码 java自动生成图片】for (int i = 1; i = 4; i++) {
//这里的目录是我的图片所在的目录 1.gif~4.gif
photopath = "src/images/" + i + ".gif";
Image img = Toolkit.getDefaultToolkit().createImage(photopath);
icons[i-1] = new ImageIcon(img);
}
picture = new JLabel();
JPanel jp = new JPanel();
jp.add(picture);
add(jp,BorderLayout.CENTER);
setBounds(500, 200, 200, 200);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
int n = Integer.parseInt(JOptionPane.showInputDialog("input: "));
//先设置Jlabel应该显示的图片
picture.setIcon(icons[n-1]);
//然后才开始显示窗口
this.setVisible(true);
}
public static void main(String[] args) {
new Picture();
}
}
怎么运用java点击一下按钮,随机出现一个图片随机出现图片, 其实可以转换成一个随机数字的问题. 把图片存入一个数字, 那么只要随机的数字在图片数组的长度范围内即可. 稍微完善的地方就是要确保每次的下标,不要和上一次的相同,否则点击按钮就不会出现换图的效果了.
效果图
参考代码
import java.awt.*;
import javax.swing.*;
//java8测试通过
public class DemoFrame extends JFrame {
JButton jbChange;
JLabel jlImg;
static final ImageIcon IMG1 = new ImageIcon(
Toolkit.getDefaultToolkit().createImage(DemoFrame.class.getResource("/img/1.jpg")));
static final ImageIcon IMG2 = new ImageIcon(
Toolkit.getDefaultToolkit().createImage(DemoFrame.class.getResource("/img/2.jpg")));
static final ImageIcon IMG3 = new ImageIcon(
Toolkit.getDefaultToolkit().createImage(DemoFrame.class.getResource("/img/3.jpg")));
static final ImageIcon IMG4 = new ImageIcon(
Toolkit.getDefaultToolkit().createImage(DemoFrame.class.getResource("/img/4.jpg")));
static final ImageIcon[] IMGS = { IMG1, IMG2, IMG3, IMG4 };
int nowIndex;//用于记录现在的下标
public DemoFrame() {
JPanel jps = new JPanel();
jbChange = new JButton("换图");
jps.add(jbChange);
add(jps, BorderLayout.SOUTH);
JPanel jpc = new JPanel();
jlImg = new JLabel();
nowIndex=getRandomIndex();
jlImg.setIcon(IMGS[nowIndex]);
jpc.add(jlImg);
add(jpc);
setSize(272, 390);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setTitle("随机换图");
//按钮点击事件
jbChange.addActionListener(e - {
int temp=getRandomIndex();//随机产生一个下标
while(temp==nowIndex) {//如果这个下标和现在的下标一直,那么就换一个
temp=getRandomIndex();
}
nowIndex=temp;//更新现在的下标
jlImg.setIcon(IMGS[nowIndex]);//把JLabel的图片换掉
});
}
//产生随机下标
private int getRandomIndex() {
return (int) (Math.random()*IMGS.length);
}
public static void main(String[] args) {
推荐阅读
- asp.net登陆画面设计,aspnet登录界面代码
- 百兆路由器怎么设置,百兆路由器怎么设置网速最快
- pg数据库当前系统时间,pg数据库时间格式转换
- 网站平台制作公司,做网站制作公司
- linux蓝牙操作命令 linux如何打开蓝牙
- 视频号怎么推广游戏赚钱,视频号视频怎么推广
- 如何去pdf自带的水印,如何去pdf自带的水印文件
- 简单的jquery实现的选项卡效果,jquery 选择
- mysql图片数据怎么改 mysql数据库存图片数据类型