如何获取 Java 图形位置信息?
Posted
技术标签:
【中文标题】如何获取 Java 图形位置信息?【英文标题】:How do I get Java graphic location information? 【发布时间】:2020-01-03 02:06:06 【问题描述】:如何获取我创建的 2D 对象的位置信息?我按如下方式创建了对象。我需要这些对象的位置信息。
public void paint(Graphics g)
//backGround
g.setColor(Color.darkGray);
g.fillRect(1, 1, 400, 400);
//left object
g.setColor(Color.green);
g.fillRect(Pxi, Pyi, 20, 20);
//right object
g.setColor(Color.yellow);
g.fillRect(Pxs, Pys, 20, 20);
g.dispose();
g.fillRect (Pxs, Pys, 20, 20)
我需要这些物体的位置信息。
【问题讨论】:
DYM 屏幕上的位置?Pxs, Pys
给出了这一点。记忆中的位置?没有对象被放入内存。还有什么? ..
全局变量 pxs 和 pys。如果你愿意,我可以分享整个代码。
“如果你愿意,我可以分享整个代码。” 不,我不想让你把整个代码丢在这里。如果需要更多代码,请将其设为minimal reproducible example。但是整个代码和 MRE 都不会回答我提出的问题。 首先回答这个问题:“位置”到底是什么意思?请注意并仔细阅读,我不应该问两次。
我需要知道它在框架中的什么位置。
相对于框架的位置? (为什么?知道这一点有什么意义?另见What is the XY problem?)或相对于它被绘制的容器? (如前所述,根据Pxs, Pys
的值已经知道。)
【参考方案1】:
如果您使用 g.fillRect(x, y, 20, 20) ,您将在 x 和 y 位置绘制彩色矩形到屏幕(我的意思是 Canvas 或 JPanel)。在您的情况下,用户空间中绘图的 Pxs 和 Pys 坐标。我认为您应该阅读此内容以了解有关 Java2D API 的更多信息:https://docs.oracle.com/javase/tutorial/2d/overview/coordinate.html
【讨论】:
以上是关于如何获取 Java 图形位置信息?的主要内容,如果未能解决你的问题,请参考以下文章