gpt4 book ai didi

java - java.awt.geom.Rectangle2D 的字段?

转载 作者:行者123 更新时间:2023-12-01 13:31:10 26 4
gpt4 key购买 nike

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

//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);
}

打印出来:

java.awt.geom.Rectangle2D$Float[x=1.0,y=1.0,w=30.0,h=30.0]

...哪种暗示 xy 字段可以在哪里访问?偶Rectangle2D.Float (Java Platform SE 7 )说:

Field Summary
...
float x
The X coordinate of this Rectangle2D.

但是,如果我取消注释 println(testr.x);,编译会失败并显示:

testr.x cannot be resolved or not a field.

我哪里出了问题 - 为什么我无法访问文档明确指出存在的字段?

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

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);
}
}
}

最佳答案

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

Rectangle2D.Float testr;

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

关于java - java.awt.geom.Rectangle2D 的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21563811/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com