gpt4 book ai didi

java - JPanel 动态幻灯片

转载 作者:行者123 更新时间:2023-12-01 10:19:40 26 4
gpt4 key购买 nike

我在 JFrame 上有一些 JPanel,并且想在程序运行时移动它们。我的代码有很多行,因此我无法将其全部粘贴到此处,但这里是函数 toggle 的示例移动发生的地方。

for(int h=frame.height; h<HEIGHT; h++){
toolbar.setBounds(0, h, size.width, size.height);
try {
Thread.sleep(counter);
} catch (InterruptedException ex) {
Logger.getLogger(Scene.class.getName()).log(Level.SEVERE, null, ex);
}
}

本质上,我希望 JPanel 从北向南移动。

当我调用此toggle时程序初始化期间的函数然后当我启动它时,我可以看到 JPanel 正确移动。如果我添加一个按键监听器,以便在程序运行时触发 JPanel 移动,则会发生以下情况:在 JPanel 需要移动的时间内,程序不执行任何操作,在这段时间之后,我看到 JPanel 位于其最终位置。我应该在上一个示例中以某种方式重新绘制 jpanel 的 jframe 还是什么?

最佳答案

keyListener 在 awt 线程上调用。如果您尝试从 awt 线程制作动画,则不会发生任何事情,因为 swing 在 awt 线程上进行绘制。您需要为动画创建一个新线程,并使用 Swing.InvokeLater 或类似工具来绘制动画。

关于java - JPanel 动态幻灯片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35684114/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com