Tag: 计时器

将计时器添加到Java Swing

好吧,我很抱歉在短时间内发布了多个问题,但我正试图让这个时间倒数从3到0 ……这是我的代码 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class ClickingGame extends JPanel implements ActionListener { private static final long serialVersionUID = 1L; static JFrame frame; static JButton startbutton, clickingbutton, timerstop; static JLabel timelabel, scorelabel; static int time = 3; static JTextField entertime; static Timer clock; static Timer countdown; static int score = 0; public […]

随机生成一个形状

我正在开发一个Java屏幕保护程序项目,到目前为止,我已经完成了很多工作。 我需要代码在随机位置生成随机颜色的随机形状。 我相信我已经完成了所有随机方面的工作,但现在我只需要使用计时器以500 ms的间隔创建这些形状。 我还需要创建一个计数器来计算30个形状,然后清除屏幕并重新开始。 (我有背景和keylistener为项目的其他部分添加,但他们工作完美,万一有人想知道他们为什么在那里)。 import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.Random; public class ScreenSaver1 extends JPanel implements ActionListener { private JFrame frame = new JFrame(“FullSize”); private Rectangle rectangle; Timer t; int x1, y1; boolean full; protected void paintComponent(Graphics g) { super.paintComponent(g); int shape; shape = (int)(Math.random() * 4); } ScreenSaver1() { t […]

Java:每X秒执行一次操作

我有一个工作的Java程序,我想每隔X秒在显示器上绘制一个对象。 做这个的最好方式是什么? 我正在考虑使用for循环和一些sleep语句,但我很好奇是否有更简单或更有效的方法来解决这个问题。 谢谢。

具有延迟的Java事件处理

import java.awt.Color; import java.awt.Dimension; import javax.swing.JPanel; import javax.swing.Timer; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartMouseEvent; import org.jfree.chart.ChartMouseListener; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.chart.entity.ChartEntity; import org.jfree.chart.plot.PiePlot; import org.jfree.chart.plot.PiePlot3D; import org.jfree.data.general.DefaultPieDataset; import org.jfree.data.general.PieDataset; import org.jfree.ui.ApplicationFrame; import org.jfree.ui.RefineryUtilities; /** * A simple demonstration application showing how to create a pie chart using * data from a {@link DefaultPieDataset}. */ public class […]

使用Timer在JTextArea中实现打字机效果?

我正在制作一个文本冒险游戏,并遇到了一个问题,我无法以我想要的方式显示我的一些文本。 当输入一些单词时,玩家可以开始引入新房间。 我希望这个介绍有“打字机”的效果。 此事件需要在我的程序ActionPerformed方法中进行。 例如,当用户键入“Move”然后按Enter键时,我希望生成的文本一次打印一个字符。 以下是我在ActionPerformed之外使用的当前方法来实现此效果: public void slowPrint(String message, long millisPerChar) { //makes it so that the player cannot input while the text is being displayed userinput.setEditable(false); String o; for (int i = 0; i < message.length(); i++) { //adds each letter one-by-one o = "" + message.charAt(i); output.append(o); //moves the JTextArea to the […]

带有Timer的Java变色图形

我想画一张每秒两次变色的光盘。 磁盘在DrawPanel上绘制,它延伸了JPanel,在main方法中,DrawPanel被添加到框架中。 对于颜色变换,我使用一个计时器,当我试图改变主方法中的DrawPanel的背景时(我注释掉了)。 有人可以告诉我为什么它不适用于Graphics g对象或任何其他建议吗? 我只是从main方法复制代码并将其添加到paintComponent()方法中,但在这里它不起作用。 import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Random; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.Timer; public class DrawPanel extends JPanel{ public GridBagLayout gbl; //position and dimension int x = 0, y = 0, width = 200, height = 200; public DrawPanel(){ repaint(); } public DrawPanel(GridBagLayout gridBagLayout) { this.gbl = gridBagLayout; […]

Java月计时器

我正在尝试创建一个Timer / TimerTask,它将在每个月的同一天运行。 我无法安排重复计时器,因为一个月不会总是相同的时间长度。 所以,这是我的解决方案: public class MyTask extends TimerTask { public void run(){ //do process file stuff if(scheduledExecutionTime() != 0){ TimerHelper.restartMyTimer(); } } } public class TimerHelper { public static HashTable timersTable = new HashTable(); public static void restartMyTimer(){ Calendar runDate = Calendar.getInstance(); runDate.set(Calendar.DAY_OF_MONTH, 1); runDate.set(Calendar.HOUR_OF_DAY, 4); runDate.set(Calendar.MINUTE, 0); runDate.add(Calendar.MONTH, 1);//set to next month […]

Android:暂停/恢复计时器或线程

我已经检查了所有关于如何暂停/恢复计时器的SO答案,但找不到解决方案。 我创建了一个Timer任务,它计算员工的工作时间并将其放在TextView中显示。 代码如下: Timer T = new Timer(); T.scheduleAtFixedRate(new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { String workingTime = “Your effort is ” + format.format(Double.valueOf(hr)) + “:” + format.format(Double.valueOf(min)) + “:” + format.format(Double.valueOf(sec)) + ” till now for the day”; storeEffort.setText(workingTime); sec++; if (sec > 59) { […]

要在按钮上设置延迟,请单击java?

我在JFrame有一个保存按钮;点击保存时,“保存”文本设置为“保存….”; 我需要在延迟10秒后将该文本设置为“已保存”。如何在java中实现? 请帮忙… try { Thread.sleep(4000); } catch (InterruptedException e) { e.printStackTrace(); } 这就是我所做的……但是在这个延迟的时间里,这不会显示为“拯救”。

将参数传递给Timer Task(Java)

我在循环中有一个计时器任务; 我想把时间任务传递给循环中的数字…… 那可能吗? 我的代码: … int i = 0; while (i < array.size){ Timer timer = new Timer(); timer.schedule(new RegrowCornAnimate(), 0, 1000); i++ } … class RegrowCornAnimate extends TimerTask { public void run() { //Do stuff } } 如何更改它以便我可以在TimerTask类中使用i ? -as在每个TimerTask中将知道它是在/ in / from下创建的。 谢谢,