gpt4 book ai didi

java - 图形绘制到窗口后的 "secret"是什么?

转载 作者:搜寻专家 更新时间:2023-10-31 20:19:52 25 4
gpt4 key购买 nike

Graphics本身就是一些抽象类。调用 g.drawImage(Image img, tx, null) 或类似的东西实际上是如何绘制到窗口的?我仔细看了看,发现 java.awt.Component 的实例中可能发生了什么?是对的吗?我不知道。

我的主要原因是我想创建自己的 Graphics 上下文,称为 Graphics3D。我的光栅器将利用它,然后您可以从 Graphics3D 上下文中绘制和操作 3D 对象。即使我可以将 Graphics 继承到我的 Rasterizer 中,我也不知道该怎么做。

最佳答案

java.awt.Component 是任何可以在屏幕上绘制的类的父类(super class)。

在本类(class)中,您可以了解在屏幕上绘制像素的真实情况。
此类中有一个方法,即 public void repaint(long tm, int x, int y, int width, int height)。在此函数中,您必须查看第 3403 行才能了解其工作原理。

它为此实例化了一个 PaintEvent。PaintEvent e = new PaintEvent(this, PaintEvent.UPDATE, new Rectangle(x, y, width, height)) 其中 PaintEvent 的构造函数是 PaintEvent(Component source, int id, Rectangle updateRect) .

还有另一行Toolkit.getEventQueue().postEvent(e)
Toolkit获取系统的EventQueue,并在其中添加一个PaintEvent
EventQueue 跟踪队列中的所有事件并相应地触发它们。
PaintEvent 是在屏幕上绘制矩形的事件。

关于java - 图形绘制到窗口后的 "secret"是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25110647/

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