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:,在这种情况下是你的朋友。这里有一个相关的例子