在 JFrame 中从一个位置移动到另一个位置的标签或任何组件



我正在尝试使用该方法将标签/图标和按钮从一个地方移动到另一个地方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的重要性。

相关内容

最新更新