-1

我只是想通过单击它来一点一点地在屏幕上移动面板,我还想知道如何通过单击特定按钮来做到这一点?

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

1 回答 1

3

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

您不需要 invalidate()、valiate() 或 repaint(),Swing 足够聪明,可以在组件位置更改时重新绘制组件。

按钮中的代码将相同。您创建一个 ActionListener,它具有对要移动的组件的引用,然后更改其位置。

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

这里有很多东西。如果您需要更多帮助,则需要发布SSCCE以向我们展示您迄今为止所做的工作。

于 2013-03-09T21:01:17.733 回答