我正在尝试移动标签/图标&使用setLocation
方法从一个地方到另一个地方的按钮但由于某种原因,对象正在移动但不在运动中。所以,如果有人知道如何做这件事,请告诉我。
如何在JFrame中创建从一个地方移动到另一个地方的标签或任何组件?
下面我展示了代码:
jl = JLabel
jf = JFrame
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==jbtn)
{
for(int i=0;i<=30;i++)
{
jl.setLocation(100,100+i);
jl.repaint();
jf.repaint();
try
{
Thread.sleep(50);
}
catch(Exception ae)
{
ae.printStackTrace();
}
}
}
}
答案 0 :(得分:4)
基本上,您正在阻止负责绘制更新的线程(事件调度线程)
您可能希望阅读java timer change delay with button和Does displaying Java GUI requires some special treatment?来展示动画,并讨论EDT的重要性。