我在想如何java.awt.Graphics
的工作原理和我通过NetBeans去源代码。
我注意到图形是一个abstract
类和我使用的所有功能是abstract
函数
这使我的事情,我该如何使用图形?
我的意思是,Graphics是一个abstract
类,我在JPanel中使用了一个Graphics对象。
它是如何工作的?我如何使用它作为抽象类,而不使用实现Graphics的类?
如何使用图形 - 抽象类
-1
A
回答
4
您不能直接使用抽象类的实例。诸如Graphics之类的抽象类不能被实例化;只有具体的子类可以(图形有两个,DebugGraphics和Graphics2D)。在JPanel的情况下,你在paintComponent()中得到的Graphics参数实际上是Graphics2D的一个实例(你可以通过转换来检查它)。 Graphics2D类提供了Graphics中抽象方法的实现。
+0
那么为什么没有绘制'Graphics2D'呢?为什么他会得到'Graphics'? – Amirag
-1
你应该使用他的一个实现,抽象类不能实例化。
相关问题
- 1. 如何使用抽象类
- 2. 如何使用抽象类
- 3. 使用抽象类中抽象类的引用抽象类c
- 4. 在抽象类中使用抽象类时如何实现抽象方法
- 5. 使用抽象类
- 6. struts2形式的抽象类
- 7. 如何使用Espresso测试抽象类?
- 8. 如何使用C++返回抽象类
- 9. Java的如何使用抽象类
- 10. 使用抽象类绘制功能图
- 11. 如何用抽象类调用抽象函数
- 12. 如何使用结构图保证抽象类
- 13. 使用抽象形状类的三角类
- 14. 如何在其他类(或任何类)中使用抽象类?
- 15. 使用抽象类方法
- 16. 使用抽象类ArrayList
- 17. 正确使用抽象类
- 18. C++使用抽象基类
- 19. 使用java抽象类
- 20. java使用抽象类
- 21. 如何定义抽象类
- 22. 如何抽象静态类
- 23. 如何聚合抽象类?
- 24. 如何从抽象基类
- 25. 抽象与抽象类
- 26. 何时使用抽象类和接口?
- 27. 何时使用抽象类或接口?
- 28. 何时使用抽象类和接口
- 29. 抽象类中的动态抽象类
- 30. 抽象类非抽象方法调用
您使用继承它的类。你只是不知道哪一个。 – SLaks
首先查看[绘制AWT和Swing](http://www.oracle.com/technetwork/java/painting-140037.html)以获取有关绘画过程的更多详细信息。 'Graphics'是抽象的,因为它依赖于它用来绘制的物理目标,绘制到图像,屏幕或打印机都需要不同的实现。 – MadProgrammer
在屏幕和打印机的情况下,系统根据设备的所需实现创建一个'Graphics'上下文的实例,并将其传递给您,您不需要知道物理实现,只需要您可以调用'Graphics'的方法 – MadProgrammer