什么是"秘密"图形绘制到窗口后面?

时间:2014-08-04 01:26:33

标签: java 3d rasterize

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

我的主要原因是我想创建一个名为Graphics的{​​{1}}上下文。我的光栅化器将使用它,然后从Graphics3D上下文中可以绘制和操作3D对象。即使我可以将Graphics3D继承到我的Graphics,我也不知道该怎么做。

1 个答案:

答案 0 :(得分:3)

java.awt.Component是可以在屏幕上绘制的任何类的超类。

在本课程中,您可以看到屏幕上是如何绘制Pixel的 这个类中有一个方法,即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) 工具包获取系统EventQueue,并在其中添加PaintEvent EventQueue跟踪队列中的所有事件并相应地触发它们 PaintEvent是在屏幕上绘制矩形的事件。