【发布时间】:2011-02-25 03:13:48
【问题描述】:
为什么下面的代码会产生错误信息:getX() has private access in java.awt.Rectangle
(int)dest.getX(), (int)dest.getY(), (int)dest.getWidth(), (int)dest.getHeight()
根据文档,Rectangle 确实有一个公共方法 getX()。
public boolean setSize(java.awt.Rectangle source, java.awt.Rectangle dest)
{
setVideoSize((int)source.getX() ,(int)source.getY(), (int)source.getWidth(), (int)source.getHeight(),
(int)dest.getX(), (int)dest.getY(), (int)dest.getWidth(), (int)dest.getHeight()
);
return true;
}
【问题讨论】:
-
哇,我以前从未见过。 Rectangle.getX() 始终是公开的,绝对没有充分的理由不编译。尝试使用 -verbose 选项运行 javac,并查看类路径中是否有任何不应该存在的内容。或许可以告诉我们您使用的是什么版本的 JDK。
-
有趣的是它没有抱怨 source.getX(),只有 dest.getX()。并且那些其他方法不应显示在错误消息中。就好像括号有问题,但如果有我看不到。
-
@jcomeau_ictx:它也抱怨 dest.getX()。我只是简化了错误消息。