swing实现组件向任意位置移动
时间: 2023-06-17 21:09:11 浏览: 55
可以使用如下代码实现组件向任意位置移动:
```java
import javax.swing.*;
import java.awt.*;
public class MoveComponent extends JFrame {
public MoveComponent() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 400);
setLayout(null);
// 创建一个JLabel组件,作为需要移动的组件
JLabel label = new JLabel("Move me!");
label.setBounds(50, 50, 100, 30);
add(label);
// 定义一个定时器,每100毫秒执行一次移动操作
Timer timer = new Timer(100, e -> {
int x = label.getX();
int y = label.getY();
// 将组件移动到新的位置
label.setLocation(x + 5, y + 5);
});
timer.start();
setVisible(true);
}
public static void main(String[] args) {
new MoveComponent();
}
}
```
上述代码创建了一个JFrame窗口,其中包含一个JLabel组件。通过创建一个定时器,每隔100毫秒就将JLabel组件的位置移动5个像素,从而实现了组件的移动。可以根据需要修改定时器的时间间隔和移动的距离。