【发布时间】:2017-04-08 23:25:08
【问题描述】:
我想问一下如何在第一次移动鼠标(并在标题中显示)时启动定时器进行 60 秒倒计时。然后最后我想显示一些 jOptionPane.Message 或其他东西。这是代码...
private void jPanel2MouseMoved(java.awt.event.MouseEvent evt) {
jPanel1.setBounds(evt.getX(), evt.getY(), jPanel1.getWidth(), jPanel1.getHeight());
int a = KEK.nextInt(jPanel2.getWidth()-15);
int b = KEK.nextInt(jPanel2.getHeight()-15);
if(jPanel1.getBounds().intersects(jPanel3.getBounds()) == true){
rurin++;
jPanel3.setBounds(a, b, jPanel3.getWidth(), jPanel3.getHeight());
this.setTitle("Number of red dots touched: " +rurin+" ");
}
}
【问题讨论】:
-
您自己没有向我们展示任何计时器代码,也没有发布可编译/可运行的代码,这让我们很难知道您卡在哪里或如何以一种不仅可以帮助您,也可以帮助有类似问题的未来访客。为了获得最佳帮助,并查看您可能做错了什么,请在您的问题中发布您最好的善意minimal reproducible example 解决方案尝试。这是一个可运行的小型程序,您在此处发布为代码格式的文本,它充分向我们展示了您的问题。祝你好运。
-
使用Swing Timer。也许启动两个计时器。第一个 Timer 将每秒触发一次,因此您可以用剩下的秒数更新标签。第二个定时器将在 60 秒内触发。它将停止第一个 Timer,然后显示您的 JOptionPane。