首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.awt.geom.Rectangle2D字段?

java.awt.geom.Rectangle2D字段?
EN

Stack Overflow用户
提问于 2014-02-04 21:26:57
回答 2查看 998关注 0票数 0

这里不是Java人,我只是在Processing.org中尝试这段代码

代码语言:javascript
复制
//import java.awt.Rectangle; // int only
import java.awt.geom.Rectangle2D; 

Rectangle2D testr;

void setup() {
  testr = new Rectangle2D.Float(1.0, 1.0, 30.0, 30.0);
  println(testr);
  //println(testr.x);
}

打印出来:

代码语言:javascript
复制
java.awt.geom.Rectangle2D$Float[x=1.0,y=1.0,w=30.0,h=30.0]

..。哪种类型意味着xy字段在哪里可访问?甚至连Rectangle2D.Float (Java 7)都说:

实地摘要 ..。 浮子x 这个Rectangle2D的X坐标。

但是,如果我取消注释println(testr.x);,编译就会失败,因为:

代码语言:javascript
复制
testr.x cannot be resolved or not a field.

我哪里出错了--为什么我不能访问一个字段,文档清楚地表明该字段是存在的?

顺便说一句,这就是我在/tmp中找到的,当处理.pde成功编译时,它是完整的.pde源代码:

代码语言:javascript
复制
import processing.core.*; 
import processing.data.*; 
import processing.event.*; 
import processing.opengl.*; 

import java.awt.geom.Rectangle2D; 

import java.util.HashMap; 
import java.util.ArrayList; 
import java.io.File; 
import java.io.BufferedReader; 
import java.io.PrintWriter; 
import java.io.InputStream; 
import java.io.OutputStream; 
import java.io.IOException; 

public class sketch_140204c extends PApplet {


//import java.awt.Rectangle; // int only


Rectangle2D testr;

public void setup() {
  testr = new Rectangle2D.Float(1.0f, 1.0f, 30.0f, 30.0f);
  println(testr);
}

  static public void main(String[] passedArgs) {
    String[] appletArgs = new String[] { "sketch_140204c" };
    if (passedArgs != null) {
      PApplet.main(concat(appletArgs, passedArgs));
    } else {
      PApplet.main(appletArgs);
    }
  }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-04 21:39:42

这些字段是在Rectangle2D.Float上声明的,但testr只是一个Rectangle2D。更改其声明将允许您访问它们,因为它们是公开的:

代码语言:javascript
复制
Rectangle2D.Float testr;

使用getter和setter是一个很好的建议,但是这些类没有单独的setter。只有设置整个矩形的设置器(即setRect)。

票数 1
EN

Stack Overflow用户

发布于 2021-11-23 13:11:57

这些字段是在可以打印到控件的Rectangle2D.Float上声明的。

代码语言:javascript
复制
Ellipse2D.Float test= new Ellipse2D.Float(getPosX()-40,getPosY()-40,30.0f, 30.0f);
        System.out.println(test.getCenterX());
        System.out.println(test.getCenterY());
        System.out.println(test.getMinX());
        System.out.println(test.getMinY());
        System.out.println(test.getMaxX());
        System.out.println(test.getMaxY());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21563811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档