我只是尝试使用java swing组件对pong进行编程。
我的问题是,我需要将JButton(我的Paddle)的坐标存储在变量中,以便在移动时能够操纵Button的位置。
我试过这样做:
int posP1_x= paddel1.getLocation().getX(); //Error
编译时说,从double到int有一个有损转换。 (但是getX的retrun值应该是int,而Point-Class中的值也存储为int)。当我尝试将posP1_x声明为double并在控制台上打印变量值时,它总是打印0.0。但是当我直接打印paddel1.getLocation()。getX()时,它可以工作......
double posP1_x= paddel1.getLocation().getX(); //Works
System.out.println(paddel1.getLocation().getX()); //Prints double value eg 110.0
System.out.println(posP1_x); //Prints double value with 0. --> 0.0
在变量中保存JButton坐标的解决方案是什么。
谢谢你,祝你有愉快的一天
答案 0 :(得分:1)
不要使用getX()
。使用.x
。就是这样。例如:
// either
int posP1_x= (int) paddel1.getLocation().getX();
// or
int posP1_x= paddel1.getLocation().x;
更重要的是,请查看之前发布的相关API 。如果您只是查看Point API,就可以得到答案。