问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JAVA多线程编程求教

发布网友 发布时间:2022-04-18 06:58

我来回答

4个回答

热心网友 时间:2022-04-18 08:28

package com;

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class ColorThread
{

public static void main(String[] args)
{

Myframe mf =new Myframe();//实例化对象
Thread t=new Thread(mf);//加入线程
t.start();//启动线程
}
}

class Myframe extends JFrame implements Runnable,ActionListener
{
private static final long serialVersionUID = 1L;
Random rand = new Random(System.currentTimeMillis());//随机数.用当前系统时间做基数
JPanel panel = new JPanel();//变色的面板
final JButton button = new JButton("点击停止或启动");//按钮
int action=0;//变色或停止变色 判断标示
public Myframe()
{
super("1/10秒变色1次");
button.setBounds(10, 10, 200, 30); //设置按钮坐标
button.addActionListener(this); //设置按钮监听
panel.setBounds(10, 50, 100, 100); //面板坐标
panel.setBackground(Color.BLUE); //面板初始颜色
this.setBounds(100, 100, 300, 300); //frame 初始大小坐标
this.add(panel); //将面板加入frame
this.setLayout(null); //设置frame布局为null
this.add(button); //将按钮加入frame
this.setDefaultCloseOperation(3); //设置关闭frame就退出程序
this.setVisible(true); //设置frame显示为可见
}
/**
* 实现Runnable线程接口
*/
public void run()
{
while (true)//设置死循环
{
try
{
if(action==0)//判断操作为0时改变面板背景颜色
{
panel.setBackground(getcolor()); //变色
}
Thread.sleep(100);//10之一秒 的休眠
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
private Color getcolor() //获得颜色
{
return new Color(getNum(), getNum(), getNum());
}
private int getNum() //获得小于255的随机数字
{
return rand.nextInt(255);
}
public void actionPerformed(ActionEvent e)//监听事件
{
if(action==0) //点击后判断.修改值.
{
action =1;
}else
{
action =0;
}

}
}
//有注释了.

热心网友 时间:2022-04-18 09:46

代码就不给了,给你个思路,用一个线程刷新标签的颜色,再设置一个变量判断是否执行(比如boolean run=true),点击按钮后变量设置run为false,再点一下又变回true,这样就可以了,思路有了应该好做了,楼主加油

热心网友 时间:2022-04-18 11:20

public class A {

public static void main(String[] args) throws FileNotFoundException, IOException {
JFrame frame = new JFrame();
final JButton button = new JButton("123");
final javax.swing.Timer timer = new Timer(500, new AbstractAction() {

public void actionPerformed(ActionEvent e) {
button.setBackground(new Color((int) (Math.random() * 255), (int) (Math.random() * 255), (int) (Math.random() * 255)));
}
});
button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {
if (timer.isRunning()) {
timer.stop();
} else {
timer.start();
}
}
});
timer.setRepeats(true);
frame.getContentPane().add(button);
frame.setDefaultCloseOperation(3);
frame.setVisible(true);
}
}

热心网友 时间:2022-04-18 13:12

不难吧,貌似跟多线程也没有关系.没有现成的程序.有时间帮你做做.不过现在很忙.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
格力空调企业介绍 苹果12怎么去手机底部白框框呢? 青骄第2课结束了吗? 97八神和草雉京有个火拉上去的怎么放啊 英语中限定词有哪些 男士敏感油性皮肤适合用什么洗面奶和护肤品? 这个头发的颜色是什么,这种发型叫什么名字?这个烫的是玉米烫吗?头发要... 请问这女生的头发是什么烫? 请问一下她的头发是什么烫??? 请问,谁知道这张图中头发的烫法叫什么?属于什么烫? 女生内衣要每天洗吗 女生内衣要怎么清洗 请问女生在大学里怎么洗衣服的? 手洗吗? 洗衣服 女性用什么洗最好? 女生的衣服是不是用肥皂洗好一点? 精臣b50未检测到碳带 精臣的B50打印机使用的是什么指令集? 珠宝标签打码机有b50b21有什么区别 蓝牙怎么连接手机? 谁有免费一键还原软件? 法师的一键解诅咒宏是什么?或者是什么插件?? 求小德一键解毒解诅咒宏 一键驱散宏~~(如何让你免插件也能轻松解魔法) 哪里有下以前的一键解? 一键解锁万能钥匙 给个一键解诅咒的宏 wow现在还有插件可以一键解debuff吗? 求一个一键解除Root的工具 怎样解除一键锁屏功能 一键解锁什么意思?和一键root有什么不同? 一键解除无线网络密码。 女生们能教教我怎么洗衣服吗? 女孩子的衣服应该怎样收拾比较合适呢? 女性内衣要怎么洗才不变形 ae怎么用现成的模板制作一个视频相册 求 思科特.克莱恩《玩家一号》txt版本 香港思科特工业技术有限公司北京代表处怎么样? 北京思科特信息技术有限公司怎么样? 西安思科特软件有限公司怎么样? 滕州市思科特数控机床有限公司怎么样? 唐山思科特评估咨询有限公司怎么样? 郴州思科特电仪成套设备有限公司怎么样? 十堰思科特模具有限公司怎么样? 武汉思科特安全防护用品有限公司怎么样? 美国派那主演叫什么 追觅科技(天津)有限公司苏州分公司怎么样? 谁知道成都哪里有PCB制造的公司啊? 神话中鸿钧道人的师傅是谁? 鸿钧老祖的师父是谁 在神话中鸿钧老祖的师傅是谁? 封神英雄中鸿钧老祖的师傅是谁