当前位置:编程学习 > JAVA >>

Java JPanel问题

重写JPanel的getX()方法后有什么后果?

比如说这样重写:

public int getX (){
    return x;//此处x为显示在JPanel上的某物体的坐标
}

这样调用:

snake.setX(snake.getX());//snake是Snake的实例,继承了JPanel,我的重写便是在Snake里进行的;x是snake在JPanel上                            显示的坐标

我运行后发现snake显示到屏幕一半时会变成一条缝

把getX()重命名为getSnakeX()后恢复正常

求大神解释!!!!
--------------------编程问答-------------------- 文档中是这么说的:

public int getX()
    Returns the current x coordinate of the component's origin. This method is preferable to writing component.getBounds().x, or component.getLocation().x because it doesn't cause any heap allocations.
    Overrides:
        getX in class Component
    Returns:
        the current x coordinate of the component's origin

这个方法不是不能覆盖,问题在于你的代码是如何用它的,它应该用于获取控件左上角的X坐标。
补充:Java ,  Java SE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,