嗯,根据我的经验和OracleJavaAPI文档,我知道他们这样做,但我想知道为什么。通过构造函数,我只允许将int类型的参数传递给Rectangle类,x、y等的内部数据表示是类型int和setSize()仅排除int类型的参数。但是,为什么所有方法,如getX()、getY()、getWidth()等,在没有精确?为什么不像预期的那样简单int?编辑:我知道它是从Rectangle2D类派生的,但是仍然没有理由不提供任何基于int的getX()和getY()函数,与Point和Point2D类不同,这些方法不是抽象的。此外,setLocation()也不是抽象的。
我对抽象类及其真正用途有疑问。考虑以下场景:interfaceA{voidexecute();}classAOneimplementsA{publicvoidexecute(){x=getX();..functionalityspecifictoA..y=getY();..morefuntionalityspecifictoA}privateXgetX(){..returnx;}privateYgetY(){..returny;}}classATwoimplementsA{publicvoidexecute(){x=getX();..functionalityspecifictoB..
我在JFrame中嵌入了一个JPanel。JPanel被添加到BorderLayout的CENTER。我正在使用以下代码对其进行绘制,但MouseEvent的getX()和getY()似乎偏移了实际坐标。为什么?相关代码是:-privateImagebackBuffer=createImage(getWidth(),getHeight());publicvoidmouseDragged(MouseEvente){//System.out.println("Canvas.mouseDragged()");Graphics2Dg2d=(Graphics2D)backBuffer.getGr
如何在getter链之后安全地调用setter,例如foo.getX().getY().setZ(...);?例如,假设我有一个嵌套的POJO,我希望能够设置一个嵌套对象的字段。Foofoo=...foo.getX().getY().setZ(...);我希望行为是这样的,如果X和Y不存在,那么它们会自动创建;否则它会重用现有对象。换句话说,我希望它的行为等同于Foofoo=...Xx=foo.getX();if(x==null){x=newX();foo.setX(x);}Yy=x.getY();if(y==null){y=newY();x.setY(y);}y.setZ(...);
我已经创建了一个用于拖动View的onTouchListener。如果我使用getRawX()和getRawY(),图像可以顺利拖动。这样做的问题是,当您放下第二个指针然后抬起第一个指针时,图像会跳到第二个指针。这个onTouchListener试图通过跟踪pointerId来解决这个问题。这个onTouchListener的问题是在拖动ImageView时,ImageView非常疯狂地跳来跳去。getX()和getY()值跳来跳去。我觉得我做得对。我不想为此编写自定义View,因为我已经实现了一个scaleGestureDetector并编写了一个可以工作的自定义rotateGest
我需要帮助来理解以下内容。假设我有一个854x480像素的显示器。为什么MotionEvent.getX和getY方法返回float?据我所知,显示器上的像素是离散整数,显示器上没有半个像素。 最佳答案 来自开发者页面:“返回给定指针索引的此事件的X坐标(使用getPointerId(int)查找此索引的指针标识符)。整数是像素;该值可能有小数部分用于输入设备像素精确。”http://developer.android.com/reference/android/view/MotionEvent.html#getX()因此对于某些设
我正在编写一个拖放应用程序,并且因为某些参数而感到非常困惑。请大家帮忙解答首先,我阅读了View类的文档并得到了以下解释。getX():此View的视觉x位置,以像素为单位。getY():此View的视觉y位置,以像素为单位。getWidth():返回View的宽度。getHeight():返回View的宽度。getTop():此View相对于其父View的顶部位置。getLeft():此View相对于其父View的左侧位置。现在我们完成了官方文档,让我们看看我们有什么。我有一张原始尺寸为500x500的图片,名为circle。这是我的应用程序的实际屏幕截图这是布局的xml现在我关心的
在ActivityonCreate()中,我实例化了一个新View,并通过layout.addView将其添加到Activity中。如果我为该View尝试getX()或getY(),我总是得到0.0。protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);RelativeLayoutmain=(RelativeLayout)findViewById(R.id.main);RelativeLayout.
在ActivityonCreate()中,我实例化了一个新View,并通过layout.addView将其添加到Activity中。如果我为该View尝试getX()或getY(),我总是得到0.0。protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);RelativeLayoutmain=(RelativeLayout)findViewById(R.id.main);RelativeLayout.
我似乎不太了解androidView中getTop()和getY()之间的区别。它们有何不同? 最佳答案 getTop()返回相对于父级的y坐标。getY()像getTop()一样返回相对于父级的y坐标,加上getTranslationY()返回的y平移.对于这样的问题,查阅资料通常很有帮助:publicfinalintgetTop(){returnmTop;}http://androidxref.com/5.1.0_r1/xref/frameworks/base/core/java/android/view/View.java#1