我希望这个问题不会被认为太笼统。我知道要在JPanel
上绘制图形,需要重写paintComponent
方法并将所有绘图代码放在该方法中。我的问题是为什么!为什么Java似乎不允许/提供使用诸如panel.drawLine(x1,y1,x2,y2)
或panel.drawText(text,x,y)
等方法进行绘图?在Delphi中这一切都容易多了。肯定有原因,只是我想不出来。
我希望这个问题不会被认为太笼统。我知道要在JPanel
上绘制图形,需要重写paintComponent
方法并将所有绘图代码放在该方法中。我的问题是为什么!为什么Java似乎不允许/提供使用诸如panel.drawLine(x1,y1,x2,y2)
或panel.drawText(text,x,y)
等方法进行绘图?在Delphi中这一切都容易多了。肯定有原因,只是我想不出来。
这一切都可以在不需要更改人们正在使用的基类的情况下完成,因此如果他们不想使用这些功能,它们不会受到影响。
你可能想要阅读以下资料...
有关更多详细信息
并且请记住“绘画很有趣” ;)
其他想法
其中考虑之一是,Graphics
API 对于绘画非常重要,不仅与UI有关,还涉及打印和图像处理。该API与其目标断开联系,从而具有更大的灵活性但也具有共通性。
这意味着,如果您需要打印到打印机或渲染到图像,则可以使用用于屏幕绘画的相同API。