我正在开发一个俄罗斯方块项目,我发现我需要同时使用 javax.swing.Timer 和 java.util.Timer 。但其中一个不起作用。任何人都可以提供任何有关此问题的见解吗?
答案 0 :(得分:2)
是的,您可以使用两个具有相同名称的类,但不应该导入它们,您应该使用完整限定符:
即:
javax.swing.Timer timer = new ...
答案 1 :(得分:1)
是的,您可以但是如果您在同一个java文件中同时使用它们,则需要使用完整的包名称(例如java.util.Timer
)访问其中一个类,因为如果您同时导入两个类,它将会发生冲突课程。
答案 2 :(得分:1)
是的,你可以一起使用这两个类,但是你必须像这样输入完整的包
java.util.Timer myUtilTimer= ..
javax.swing.Timer myUtilTimer= ..
此外,您必须注意java.util.Timer
的输出必须包含在SwingUtilities.invokeLater(myRunnable);
中才能添加到EDT,否则无法保证任何内容应该显示/更改/重新绘制
答案 3 :(得分:1)
在具体的example中,“A javax.swing.Timer
增加int
at
100 Hz,而java.util.TimerTask
以1 Hz的频率对值进行采样。“LinkedBlockingQueue<Integer>
同步对共享数据的访问并记录最后N
个样本。该示例说明了前三个答案的所有特征:
使用完全限定名称。
使用invokeLater()
。