3

次のコードがエラーメッセージを生成する理由: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;

}
4

3 に答える 3

1

私はちょうど以下を試しました、そしてそれはうまくコンパイルします。

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

    }
于 2011-02-25T03:33:15.913 に答える
1

getX()は、Javaの一部の仕様ではプライベートです。たとえば、jsr-217にはgetX()がありません。実行しているJavaの仕様を確認してください。プライベートの場合は、データメンバーに直接アクセスできる可能性があります。

http://docs.oracle.com/javame/config/cdc/ref-impl/pbp1.1.2/jsr217/index.html

于 2011-11-24T03:39:15.223 に答える
0

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

しかし、なぜあなたがエラーを起こしているのかわかりません。

于 2011-02-25T03:40:27.410 に答える