当前位置: 首页 > 知识库问答 >
问题:

多个setText java之间的延迟

云联
2023-03-14

这里我尝试用一个摇摆计时器,并不断冻结gui,我做错了什么?。

int delay = 1000; //milliseconds
  ActionListener taskPerformer = new ActionListener() {
      int i=0;
      public void actionPerformed(ActionEvent evt) {

          try
          {
                System.out.print(solucion.get(i)+" "+solucion.get(i+1)+" "+solucion.get(i+2)+" \n"+solucion.get(i+3)+" "+solucion.get(i+4)+" "+solucion.get(i+5)+" \n"+solucion.get(i+6)+" "+solucion.get(i+7)+" "+solucion.get(i+8));
                System.out.println("\n");

                Btn1.setText(solucion.get(i));
                Btn2.setText(solucion.get(i+1));
                Btn3.setText(solucion.get(i+2));
                Btn4.setText(solucion.get(i+3));
                Btn5.setText(solucion.get(i+4));
                Btn6.setText(solucion.get(i+5));
                Btn7.setText(solucion.get(i+6));
                Btn8.setText(solucion.get(i+7));
                Btn9.setText(solucion.get(i+8));


                i++;
          }
          catch(IndexOutOfBoundsException e){((Timer)evt.getSource()).stop();} //if it gets a error we are at the end of the list and stop the timer

      }
  };
  new Timer(delay, taskPerformer).start();

共有1个答案

葛越
2023-03-14

使用swing计时器定时器代替循环。

每次计时器触发时,您设置文本,然后递增“i”的值。当“i”达到特定值时,停止计时器。

请参见:Jlabel显示新旧数字,以获得一个简单的示例。

 类似资料:
  • 我经常看到两个参与者之间有很长的延迟(60+秒),从第一个参与者发送消息到第二个参与者,以及第二个参与者的方法随消息实际调用时。我可以寻找哪些类型的东西来调试这个问题? ActorA的每个实例都使用为ActorB发送一条消息。在ActorA中调用方法并在ActorB的开始处获得另一个时间戳之后,我立即收集了一个毫秒时间戳(使用)。这些时间戳之间的间隔一致为60秒或更长。具体地说,当按时间绘制时,该

  • 我正在使用Cassandra 2.2并使用可插拔指标将Cassandra指标发送到Graphite, > 我在组织.apache.cassandra.metrics.Column家庭中搜索过,看到在“排量”和“读数总计”中都有一个属性“计数”,这两个计数属性之间有什么区别? 我的主要目标是获得每次读/写的延迟,您如何建议我获得它? 谢谢!

  • 问题内容: 在以下情况下,实现C ++ / Java IPC的最佳方法是什么? 我有两个程序需要相互通信,一个是用C ++编写的,另一个是用Java编写的。两者都在同一台计算机上运行。 程序相互发送消息。消息通常很短(少于几百个字节),但是大小可能为100KB或更大。 不需要确认消息(即不需要像HTTP这样的请求/响应模型)。例如,C 程序向Java程序发送一条消息,而Java程序可以在以后的某个

  • 问题内容: 我想展示如何使用进行合并排序。我想做的是在一段时间后使可见。我尝试了很多方法,但是所有这些都同时出现,没有中间延迟。 但是,当我单击按钮时,所有标签都出现在相同的momenet上,尽管我一直保持延迟。 问题答案: 有很多原因导致此方法无法正常工作。首先,这种方式行不通。它在后台等待,直到给定的延迟过去,然后调用注册的s 方法。 其次,如果它确实以这种方式工作,它将阻止事件调度线程,从而

  • 测试结构: Thread1-Sampler1(例如:访问登录表单) 我试着把计时器当作取样器,不管是父母还是孩子。也许我错过了什么,因为没有一个计时器在为我工作。 我已经找到了类似的问题解决方案,但没有一个对我有用:JMeter——在多个线程组之间共享请求之间的延迟Ultimate thread Group中每个线程的延迟

  • 问题内容: 如何在jQuery中的按键之间延迟动作。例如; 我有这样的东西 如果用户连续输入,我想防止发布数据。那么我该如何延迟0.5秒呢? 问题答案: 您可以使用jQuery的数据功能来执行此操作,如下所示: 这里的主要优点是到处都没有全局变量,并且您可以根据需要将其包装在setTimeout中的匿名函数中,只是尝试使示例尽可能简洁。