java - 涂漆方法是什么?它是如何工作的?
问题描述
在接收到从 Graphics 类创建的对象作为参数后,paint 方法会做什么?
例如在这段代码中:
public class unaClase extends Applet{
public void paint(Graphics g){
g.drawRect(0, 0, 400, 200);
}
}
尝试追踪源代码以查看其代码,从而能够理解它的作用,但它没有向我显示任何内容
我想知道是什么用它接收到的参数来制作油漆?
PD:我知道苹果已经死了,我只是想很好地了解发生了什么,它做了什么
解决方案
当我使用paint方法(如示例代码中)时,我在技术上覆盖它(除非我使用过super.paint ...),然后它的代码将是我刚刚定义的代码;所以我的问题是,paint 如何知道如何处理我正在经历的参数(图形)?
实际期限是overriding
。您通常会做的第一件事是调用super.paint()
父版本。 Graphics
(或者Graphics2D
有其他方法但需要强制转换)允许使用这些方法来绘制、旋转和一般操作像素。它使用操作系统支持的本机方法调用在内部进行处理。
如果你要画画,你应该在 aJPanel
和 override中进行paintComponent(Graphics g)
。查看https://docs.oracle.com/javase/tutorial/index.html上的绘画教程
推荐阅读
- python - 如何使用 docker 创建应用程序并仍在主机上运行 psutil?
- mysql - mysql update left join time out - 有没有更好的解决方案
- r - 合并具有相同名称的行并对其他列行中的其他值求和
- fortran - 如何使用 ISO C BINDINGS 将结构数组转换为派生类型数组?
- python - 使用 input() 函数通过 python 脚本在 Power BI 中弹出
- r - 在条形图中向第三个变量添加另一个标签(ggplot2)
- unity3d - 如何生成一个随机数并确保在 Unity 中使用 Photon 的每个人都相同?
- mysql - sql中join语句如何执行
- android - Facebook 与来自 android 应用的元数据共享链接
- django - 从列表中向下移动后,Django url 无法工作