java用线程插入一张图片_JAVA中怎么用线程实现图片的切换?
展开全部
自己写的代码。能通过测试
题目中的要求用线程实现图片的切换
主要有两种方式可以实现。一种62616964757a686964616fe78988e69d8331333332643937是Swing包下的Timer类。一种是Thread类import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MousDemo extends JFrame {
MyJPanel mp;
int index;
ImageIcon[] imgs = { new ImageIcon("C:\\Users\\lenovo\\Desktop\\a.png"),
new ImageIcon("C:\\Users\\lenovo\\Desktop\\b.png") };
public MousDemo() {
mp = new MyJPanel(false);
this.add(mp);
this.setSize(300, 200);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setTitle("鼠标窗口");
this.setVisible(true);
/**
* 方式一,使用TImer来切换图片
* Swing下的Timer组件,个人觉得非常适合
* Timer(200,new ActionListener());意思就是每200毫秒执行一次ActionListener里面的方法
* */
Timer timer = new Timer(200,new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
mp.flag = !mp.flag;
mp.repaint();
}
});
timer.start();
/**
* 方法二:
* 线程的方式
* */
//new Thread(new Runnable() {
//
//@Override
//public void run() {
//while(true){
//mp.flag = !mp.flag;
//mp.repaint();
//try {
//Thread.sleep(200);
//} catch (InterruptedException e) {
//e.printStackTrace();
//}
//}
//
//}
//}).start();
}
public static void main(String[] args) {
new MousDemo();
}
class MyJPanel extends JPanel{
boolean flag;
public MyJPanel(boolean flag) {
this.flag = flag;
}
@Override
public void paint(Graphics g) {
super.paint(g);
if(flag == false){
g.drawImage(imgs[0].getImage(), 0, 0,this);
}else{
g.drawImage(imgs[1].getImage(), 0, 0,this);
}
}
}
}
java用线程插入一张图片_JAVA中怎么用线程实现图片的切换?相关推荐
- java线程开启不了_Java中多线程启动,为什么调用的是start方法,而不是run方法?...
前言 大年初二,大家新年快乐,我又开始码字了.写这篇文章,源于在家和基友交流的时候,基友问到了,我猛然发现还真是这么回事,多线程启动调用的都是start,那么为什么没人掉用run呢?于是打开我的ide ...
- java线程池怎么创建_java中的线程池,如何创建?
Java中的线程池它是线程的容器,或者(换句话说,它是具有执行任务能力的线程的集合). 我们可以使用ThreadPool框架来定位(或实现)线程池. 线程池可以包含多个线程.每当我们执行任何任务时,线 ...
- java i线程安全吗_Java中 i++ 是线程安全的么?为什么?
问题 在 int i = 0; i = i++; 语句中,i = i++是线程安全的么?如果不安全,请说明上面操作在JVM中的执行过程,为什么不安全?说出JDK中哪个类能达到以上的效果,并且是线程安全 ...
- java 事务管理 子父线程_Java中的父线程与子线程
参考资料:https://my.oschina.net/hosee/blog/509557 结论:父线程的生命周期与子线程没有关系. 个人感觉:每个线程包括main线程(除了守护线程)都是平级关系,不 ...
- java中线程的生命周期_Java中的线程生命周期– Java中的线程状态
java中线程的生命周期 Understanding Thread Life Cycle in Java and Thread States are very important when you a ...
- java 线程执行结束_java中怎么判断线程执行完毕
java中怎么判断线程执行完毕 发布时间:2020-05-15 15:18:05 来源:亿速云 阅读:316 作者:Leah java中怎么判断线程执行完毕?针对这个问题,今天小编总结这篇有关线程判断 ...
- java中线程池的使用_Java中线程池的简单使用
什么是线程池? 顾名思义线程池就是线程的容器 举个例子:在没有共享电源的年代,车站有5个人手机都没电且都没有带电源,这五个人想要给手机充电只能去车站的售货亭各花100块钱买一个移动电源:但是现在共享电 ...
- java公平索非公平锁_java中的非公平锁不怕有的线程一直得不到执行吗
首先来看公平锁和非公平锁,我们默认使用的锁是非公平锁,只有当我们显示设置为公平锁的情况下,才会使用公平锁,下面我们简单看一下公平锁的源码,如果等待队列中没有节点在等待,则占有锁,如果已经存在等待节点, ...
- java 线程不安全例子_Java中多线程安全问题实例分析
案例package com.duyang.thread.basic.basethread; /** * @author :jiaolian * @date :Created in 2020-12-16 ...
最新文章
- mvc中的ViewData用到webfrom中去
- 超易懂的MapReduce思想讲解
- 关于程序中数据库报错“父项未找到”
- win8 远程桌面时提示凭证不工作问题的终极解决办法
- 用户态/内核态、用户栈/内核栈
- I2S 和 PCM 区别
- 游戏编程技巧分析:策划变心太快?也许可以使用组合
- 2020春招机考汇总1(Python):农场养鸡、连续子序列最大值的期望
- 基于java+springboot+layui的流浪动物交流信息平台设计实现
- python 编程(关于twisted)
- linux 比较内容,Linux命令比较文件内容
- 浅谈Borg/YARN/Mesos/Torca/Corona一类系统
- 2016腾讯实习生招聘_基础研究 面试心得
- 微软发布的 免费文件恢复工具
- 中国越野车和皮卡市场趋势报告、技术动态创新及市场预测
- express框架实现文件上传、下载及推送(使用Websocket)
- MATLAB在线编辑网站及使用教程
- 微信6.5.10版 android,安卓版微信6.5.10版发布:这些新功能你都知道么?
- idea的Terminal的git提示密码,修改git配置文件配置
- 关于虚拟机搭建Hadoop的几个坑
热门文章
- 计算机应用基础知识点.pdf,《计算机应用基础》复习知识点.pdf
- halcon区域腐蚀膨胀算子_OpenCV 图像处理之膨胀与腐蚀
- 这是最新的人工发射wifi信号技术吗?
- linux修改权限重启恢复,Linux错误执行:chmod 777 .*或chown -R * 的补救方法
- php 获取日期标签的值,在php中获取标签的选定索引值
- php模板引擎哪个好,php模板引擎原理是什么?
- java aio事件模型_IO模型之AIO代码及其实践详解
- RESTful架构风格
- 堆和栈组合:双端队列c++
- 我的csdnmark