1

我正在尝试使用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();
                }
            }
        }
    }
4

1 回答 1

4

本质上,您正在阻塞负责绘制更新的线程(事件调度线程)

您可能想阅读java timer change delay with button是否显示 Java GUI 需要一些特殊处理?它展示了摇摆动画并讨论了 EDT 的重要性。

于 2012-11-27T07:57:57.157 回答