怎么运用java点击一下按钮,随机出现一个图片 50

求帮助作业啊... 求帮助作业啊 展开
 我来答
雪飞潇潇
2018-12-09 · TA获得超过6275个赞
知道大有可为答主
回答量:1968
采纳率:91%
帮助的人:873万
展开全部

随机出现图片, 其实可以转换成一个随机数字的问题. 把图片存入一个数字, 那么只要随机的数字在图片数组的长度范围内即可. 稍微完善的地方就是要确保每次的下标,不要和上一次的相同,否则点击按钮就不会出现换图的效果了. 

效果图

参考代码

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) {
EventQueue.invokeLater(() -> new DemoFrame().setVisible(true));
}

}
更多追问追答
追问
谢谢你了,我还想问一下图片是需要保存到eclipse文件里面还是保存到电脑文件就行了
追答
图片保存到eclipse里, 在src下建立一个img文件夹,里面存放图片
帐号已注销
2018-12-09 · 超过11用户采纳过TA的回答
知道答主
回答量:1012
采纳率:7%
帮助的人:81.3万
展开全部
需要GUI编程
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wukong6633159
2018-12-09 · 超过47用户采纳过TA的回答
知道答主
回答量:225
采纳率:40%
帮助的人:35.4万
展开全部
利用随机函数处理
追问
有具体代码吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式