如何做到点击开始按钮 按名字开始滑动 点击暂停会停留在一个名字处 就是那种恐怖点名
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

已结题
Java做随机点名系统
收起
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除
- 收藏 举报
追加酬金 (90%的用户在追加酬金后获得了解决方案)
当前问题酬金
¥ 0 (可追加 ¥500)
支付方式
扫码支付
加载中...
5条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
霸都小魔女 2023-03-08 15:32关注小魔女参考了bing和GPT部分内容调写:
要实现这个需求,首先需要准备一个存储名字的数据结构,比如数组。然后在点击开始按钮时,设置一个定时器,每隔一段时间,从数组中取出一个名字,显示到界面上,然后继续取下一个名字,直到取完数组中的所有名字,再重新从头开始取。点击停止按钮时,清除定时器,停止取名字,并将当前显示的名字保存起来,显示到界面上。// 存储名字的数组 var names = ["张三", "李四", "王五", "赵六"]; // 定时器 var timer; // 点击开始按钮时 function start() { // 设置定时器,每隔一段时间取出一个名字,显示到界面上 timer = setInterval(function () { var name = names.shift(); // 显示名字 showName(name); // 将取出的名字放回数组末尾 names.push(name); }, 1000); } // 点击停止按钮时 function stop() { // 清除定时器 clearInterval(timer); // 保存当前显示的名字 var name = getName(); // 显示名字 showName(name); }
回答不易,记得采纳呀。
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
逆夏1130 2023-03-08 15:40关注参考GPT:
import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class NameRoller extends JFrame { private JTextArea nameTextArea; // 显示名字的文本框 private JButton startButton; // 开始按钮 private JButton pauseButton; // 暂停按钮 private boolean isRunning; // 是否正在滚动名字列表 private boolean isPaused; // 是否暂停滚动 private String[] names = {"张三", "李四", "王五", "赵六", "钱七"}; // 名字列表 public NameRoller() { // 初始化 GUI 界面 nameTextArea = new JTextArea(); startButton = new JButton("开始"); pauseButton = new JButton("暂停"); // 添加事件监听器 startButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { startRolling(); } }); pauseButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { pauseRolling(); } }); // 添加组件到 GUI 界面中 JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); panel.add(nameTextArea, BorderLayout.CENTER); JPanel buttonPanel = new JPanel(); buttonPanel.add(startButton); buttonPanel.add(pauseButton); panel.add(buttonPanel, BorderLayout.SOUTH); add(panel); // 初始化其他变量 isRunning = false; isPaused = false; } // 启动滚动名字列表的线程 private void startRolling() { if (!isRunning) { isRunning = true; new Thread(new Runnable() { @Override public void run() { int index = 0; while (isRunning) { // 滚动名字列表 index = (index + 1) % names.length; String name = names[index]; // 显示当前名字 nameTextArea.setText(name); // 休眠一段时间 try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } // 如果暂停了,则等待恢复 while (isPaused) { try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } } } } }).start(); } } // 暂停滚动名字列表的线程 private void pauseRolling() { isPaused = true; } public static void main(String[] args) { NameRoller nameRoller = new NameRoller(); nameRoller.setSize(400, 300); nameRoller.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); nameRoller.setVisible(true); } }
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容 - 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
简效 2023-03-08 15:52关注GPT内容调写:
import java.awt.*; import java.awt.event.*; import java.util.Random; import javax.swing.*; public class HelloWorld extends JFrame { private static final long serialVersionUID = 1L; // 定义GUI组件 private JButton startButton, stopButton; private JLabel nameLabel; private volatile boolean running = false; // 是否需要继续随机点名 public HelloWorld() { // 初始化GUI组件 startButton = new JButton("开始"); stopButton = new JButton("暂停"); nameLabel = new JLabel("请点击开始按钮", JLabel.CENTER); nameLabel.setFont(new Font("微软雅黑", Font.BOLD, 24)); // 添加GUI组件到窗口中 JPanel panel = new JPanel(new BorderLayout()); panel.add(startButton, BorderLayout.WEST); panel.add(stopButton, BorderLayout.EAST); getContentPane().add(panel, BorderLayout.NORTH); getContentPane().add(nameLabel, BorderLayout.CENTER); // 窗口设置 setTitle("随机点名器"); setSize(400, 200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); setResizable(false); // 添加事件监听器 startButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // 点击开始按钮后,启动一个线程来随机选择名字 Thread t = new Thread() { public void run() { String[] names = {"张三", "李四", "王五", "赵六", "钱七"}; running = true; while(running) { // 生成随机数 int index = new Random().nextInt(names.length); // 在界面上显示点名结果 nameLabel.setText(names[index]); // 线程休眠一段时间,模拟点名的效果 try { Thread.sleep(100); } catch (InterruptedException e) { // 线程被中断,退出循环 break; } } } }; t.start(); } }); stopButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // 点击暂停按钮后,停止随机点名的效果 running = false; } }); } public static void main(String[] args) { HelloWorld app = new HelloWorld(); app.setVisible(true); } }
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报 编辑记录微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容 - 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
关注
html版参考:https://blog.csdn.net/weixin_44563573/article/details/107503777
Java版参考:
import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; public class RandomNamePicker extends JFrame implements ActionListener { private JTextArea textArea; private JButton startButton, pauseButton, resumeButton; private Timer timer; private ArrayList<String> names; private Random random; public RandomNamePicker(ArrayList<String> names) { this.names = names; this.random = new Random(); initComponents(); } private void initComponents() { setTitle("Random Name Picker"); setDefaultCloseOperation(EXIT_ON_CLOSE); setLayout(new BorderLayout()); textArea = new JTextArea(); textArea.setEditable(false); add(textArea, BorderLayout.CENTER); JPanel buttonPanel = new JPanel(new FlowLayout()); startButton = new JButton("Start"); startButton.addActionListener(this); buttonPanel.add(startButton); pauseButton = new JButton("Pause"); pauseButton.addActionListener(this); pauseButton.setEnabled(false); buttonPanel.add(pauseButton); resumeButton = new JButton("Resume"); resumeButton.addActionListener(this); resumeButton.setEnabled(false); buttonPanel.add(resumeButton); add(buttonPanel, BorderLayout.SOUTH); pack(); setLocationRelativeTo(null); setVisible(true); } public void actionPerformed(ActionEvent e) { if (e.getSource() == startButton) { startButton.setEnabled(false); pauseButton.setEnabled(true); timer = new Timer(50, new TimerListener()); timer.start(); } else if (e.getSource() == pauseButton) { pauseButton.setEnabled(false); resumeButton.setEnabled(true); timer.stop(); String selectedName = names.get(random.nextInt(names.size())); textArea.setText(selectedName); } else if (e.getSource() == resumeButton) { pauseButton.setEnabled(true); resumeButton.setEnabled(false); timer.restart(); } } private class TimerListener implements ActionListener { public void actionPerformed(ActionEvent e) { String selectedName = names.get(random.nextInt(names.size())); textArea.setText(selectedName); } } public static void main(String[] args) { ArrayList<String> names = new ArrayList<>(); names.add("Alice"); names.add("Bob"); names.add("Charlie"); names.add("David"); RandomNamePicker picker = new RandomNamePicker(names); } }
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容 - 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
关注
- 这篇文章讲的很详细,请看:Java语言 随机点名程序
- 您还可以看一下 盛健华老师的Java零基础快速入门课程中的 实践案例3-随机点名器小节, 巩固相关知识点
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容
报告相同问题?
提交
- 2023-03-08 15:30回答 5 已采纳 小魔女参考了bing和GPT部分内容调写:要实现这个需求,首先需要准备一个存储名字的数据结构,比如数组。然后在点击开始按钮时,设置一个定时器,每隔一段时间,从数组中取出一个名字,显示到界面上,然后继续
- 2022-11-23 00:35回答 1 已采纳
- 2021-05-30 14:54回答 3 已采纳 这个也不难啊,设计好表,用jsp+servlet,连接数据库,新增好学生,然后点名,往点名记录表中插入数据就可以了。
- 2019-09-20 12:52java随机点名窗口小程序源码,经过多次版本调整,此版本2019最新版。 点名最讨厌的两件事:1.点到不想点的人。2.想点的人点不到 此次更新已完美解决,在后面加上了权重值。
- 2021-06-02 09:55回答 3 已采纳 import java.util.*; public class Random_call { public static String[] name_scan(int num){ int
- 2022-03-11 15:37回答 1 已采纳 这样吗
- 2023-02-28 03:40回答 6 已采纳 第一个问题 你在 onclick 时使用了 isRunning 变量,外边却没有定义 第二个问题 你在定义 nameLis 时使用的是 querySelector,这只返回第一个元素,你应该是使用
- 2023-07-04 21:14IT·陈寒的博客 通过本文的介绍,我们学习了如何使用Java编写一个简单的学生随机点名系统。该系统能够从学生名单文件中读取学生名单,并实现随机选择学生的功能。你可以根据自己的需求和实际情况对代码进行修改和扩展,以满足更多...
- 2021-06-26 00:34回答 3 已采纳 定义一个学生结构,包括学号,姓名和是否班干部,然后形成一个数组。用随机数产生一个序号,然后在学生中找到第n个同学即可 #include <stdio.h> #include <s
- 2022-05-29 08:55回答 2 已采纳 import random n = int(input("n:")) lst = [] for i in range(n): m = random.randint(1,n) whil
- 2022-04-21 15:36回答 3 已采纳 把学生名单 存在集合里设一个变量为0点击开始的 变量为1 然后一个while循环 如果变量=1就一直遍历集合 点击停止 变量改为2
- 2022-10-24 00:00算法与编程之美的博客 1.问题在课堂上,老师想...点名要体现随机性和公平性。2.方法importjava.util.Random;public class boke { public static void main(String[]args){ String[] name = {"张三","李四","王麻子","佩奇","乔治"}; for ...
- 2021-12-03 20:27回答 1 已采纳 设置个定时器,过段时间再把颜色变回去
- 2022-03-10 18:17小F的博客 用java代码实现随机点名 需求:有一个文件里面存储了班级同学的姓名,每一个姓名占一行,要求通过程序实现随机点名。 提前准备一个txt文件,里面存储学生的姓名: 具体代码: package Test_12; import java.io....
- 2022-07-26 11:51shejizuopin的博客 基本功能系统支持新的学生信息的加入、删除和修改,学生信息包括学号、姓名、图像等,并支持文件存储,以及从文件中读入学生的相关信息;拓展(不用做)根据图像点名。如上课时拍一张图片,自动实现点名功能。...
- 2022-09-13 01:01Bessie_Lee的博客 本文出土原因,写在前面:因为老师让我们搞一个web的小东西,做个简历啥的,但是我感觉没啥意思,上周上课学了servlet,然后老师点名也是随机点名的,所以说就想试着用servlet做一个随机点名的小网页,搞得好玩(不...
- 2022-04-02 17:20小王不是程序员的博客 最简单最基础的java点名程序,看完秒懂!!!
- 2022-04-20 19:52爱吃花椒的阿博的博客 编写一个随机点名的程序,随机点名器需具备3个基本功能: 1.存储所有人的姓名; 2.总览全部人的姓名; 3.随机点取一人姓名; 设计思路: 1.根据点名器功能的不同,将功能封装到不同的方法中,避免造成代码冗长。 2....
- 2014-07-26 21:10由gui编程,javase技术开发的随机点名程序,适用于班级点名!
- 没有解决我的问题, 去提问
问题事件
悬赏问题
- ¥15 matlab最小二乘法拟合非线性曲线提问
- ¥15 电脑锁屏时vba运行SAP,excel数据不能复制到SAP
- ¥50 74LS系列 74LS00 74LS04设计一个RS485电路(关键词-差分)
- ¥30 各位help写一下代码
- ¥15 在运行SDEdit模型下载不了
- ¥15 求51控制l298n驱动的小车中超声波避障怎么写
- ¥15 电脑连上WIFI却用不了
- ¥30 MATLAB在RLC电路的固有响应和阶跃响应GUI仿真报告
- ¥15 hyper-v出现的问题
- ¥15 有能用的可加酬金,求可以批量下载懒人听书的软件,能登录自己帐号的。