Java 在屏幕上移动面板

Java 在屏幕上移动面板,java,swing,Java,Swing,我只是想通过点击一点一点地在屏幕上移动一个面板,我也想知道如何通过点击一个特定的按钮 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);

我只是想通过点击一点一点地在屏幕上移动一个面板,我也想知道如何通过点击一个特定的按钮

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();     
   }

更改对齐方式不会移动零部件。您需要调用组件的
setLocation()
方法来移动它

您不需要invalidate()、valiate()或repaint(),Swing足够智能,可以在组件位置发生变化时重新绘制组件

按钮中的代码应该是相同的。您创建了一个ActionListener,其中引用了要移动的组件,然后更改了其位置

此外,要随机移动面板上的组件,需要使用空布局。因此,您还将负责最初设置组件的边界


这里有很多东西。如果您需要更多帮助,那么您需要发布一篇文章,向我们展示您迄今为止所做的工作。

您当前的问题是什么?什么不起作用?请澄清你的问题。假设我们看不到未显示的代码,也看不到未读到的内容。使用适当的Java命名约定。变量名不以大写字符开头。变量名应为“actor”。确保组件不受布局管理器的影响rint x=actor.getX();int y=Actor.getY();x=x+10;角色设置位置(x,y);这段代码是有效的,但是我怎样才能使它在我点击一个特定的按钮时移动呢?我已经给了你一个建议。我还建议,如果你有问题,那么你需要发布一个SSCCE,显示你所做的。@WayneDaly:,在这种情况下是你的朋友。这里有一个相关的例子