我发现了很多有用的东西,如何使用getX或getY,但没有一个帮助我使用我正在使用的代码。
我希望每次移动时都得到一个矩形的x和y位置,但我不确定如何。这是我的代码:
public void actionPerformed(ActionEvent e){
if(posY == 0){
posX = posX + speed;
}
if((posX <= 0)&&(posY != 0)){
posX = posX + speed - speed;
posY = posY + speedY;
}
if(posX >= 600 - x){
posX = posX + speed - speed;
posY = posY + speedY;
}
if(posY >= y - halfY){
posX = posX - speed;
}
repaint();
}
我认为问题在于actionPerformed()
是一个空白,但我不知道如何获得posx和posy并在我班级的任何地方使用它,同时仍然将actionPerformed
视为空白,因为我需要保持程序正常运行。
答案 0 :(得分:1)
您的代码暗示您已经拥有字段posX
和posY
代表矩形的位置。
您的actionPerformed()
方法已经在更新这些方法;因此,每次调用此方法时,矩形都可能会移动...并且类中的字段会更新。
换句话说:您已经在对象中获得了这些数据!如果这没有帮助,您必须向我们展示更多代码。
除此之外:如果您无法理解这些基本的事情,那么我建议您停止在UI程序上工作一段时间。 UI编程是一个高级主题;但你似乎对基础知识有麻烦。
答案 1 :(得分:0)
posX和posY应该是你班级的成员。每次调用actionPerformed时,都会设置它们的值。然后你可以在其他功能中使用它。