图形本身只是一些抽象类。如何调用g.drawImage(Image img, tx, null)
或类似的东西绘制到窗口?我看了一下,我知道可能在java.awt.Component
的实例中发生了什么?是对的吗?我不知道。
我的主要原因是我想创建一个名为Graphics
的{{1}}上下文。我的光栅化器将使用它,然后从Graphics3D
上下文中可以绘制和操作3D对象。即使我可以将Graphics3D
继承到我的Graphics
,我也不知道该怎么做。
答案 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
是在屏幕上绘制矩形的事件。