我正在尝试使用该方法将标签/图标和按钮从一个地方移动到另一个地方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();
}
}
}
}
本质上,
您正在阻止负责绘制更新的线程(事件调度线程)
您可能希望使用按钮读取java计时器更改延迟,并且显示Java GUI是否需要一些特殊处理?,其中显示了摆动中的动画并讨论了EDT的重要性。