[英]getX() has private access in java.awt.Rectangle?
為什么以下代碼生成錯誤消息: getX() has private access in java.awt.Rectangle (int)dest.getX(), (int)dest.getY(), (int)dest.getWidth(), (int)dest.getHeight()
根據doc, 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;
}
我剛剛嘗試了以下內容並且編譯得很好。
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;
}
private void setVideoSize(int x, int y, int width, int height, int x2,
int y2, int width2, int height2) {
// TODO Auto-generated method stub
}
getX()在某些java規范中是私有的。 例如,jsr-217沒有getX()具有public。 檢查您正在運行的java的規范。 如果它是私有的,您可能直接訪問數據成員。
http://docs.oracle.com/javame/config/cdc/ref-impl/pbp1.1.2/jsr217/index.html
pierr,getX()適用於更有限的程序:
jcomeau@intrepid:/tmp$ cat test.java; java test
import java.awt.*;
public class test {
public static void main(String args[]) {
Rectangle rect = new Rectangle(0, 0, 1, 1);
System.out.println("x: " + rect.getX());
}
}
x: 0.0
但是我不明白為什么你的錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.