java如何在JFC中模拟JDialog运动 1 周,4 日 Questions & Answers 118 我有一个JDialog显示在屏幕上,我想根据条件模拟它的移动(从一个位置拖动到另一个位置)。有什么办法可以做到这一点吗
# 1 楼答案 请参阅下面的这段代码。我刚刚测试过,效果很好。这只是一个概念的证明 private void startDialog() { final JDialog d = new JDialog(this, "Test", true); d.getContentPane().add(new JLabel("Something")); d.setBounds(100, 100, 400, 300); Thread t = new Thread(new Runnable() { public void run() { for (int i = 0; i < 50; i++) { SwingUtilities.invokeLater(new Runnable() { public void run() { Point p = d.getLocation(); d.setLocation(p.x + 10, p.y + 10); } }); try { Thread.sleep(100); } catch (InterruptedException e) { // ignore } } } }); t.start(); d.setVisible(true); } 您可以自己改进代码: 使用Timer而不是常规的Thread 调整睡眠时间和位置跳跃等等 只要从任何Swing应用程序调用这个方法,它就会工作
# 1 楼答案
请参阅下面的这段代码。我刚刚测试过,效果很好。这只是一个概念的证明
您可以自己改进代码:
Timer
而不是常规的Thread
只要从任何Swing应用程序调用这个方法,它就会工作