我只是想通过点击它一点一点地在屏幕上移动一个面板,我也想通过点击一个特定的按钮知道如何做到这一点?
private void ActorMouseClicked(java.awt.event.MouseEvent evt) {
float x =Actor.getAlignmentX();
float y=Actor.getAlignmentY();
x = x+1;
Actor.setAlignmentX(x);
System.out.println(x);
invalidate();
validate();
repaint();
}
答案 0 :(得分:3)
更改对齐方式不会移动组件。您需要调用组件的setLocation()
方法来移动它。
您不需要invalidate(),valiate()或repaint(),Swing足够聪明,可以在组件位置发生变化时重新绘制组件。
按钮中的代码相同。您创建一个ActionListener,它具有对您要移动的组件的引用,然后更改其位置。
此外,要在面板上随机移动组件,您需要使用空布局。因此,您还将负责最初设置组件的边界。
这里有很多东西。如果您需要更多帮助,那么您需要发布一个SSCCE来向我们展示您到目前为止所做的工作。