java中paint,paintComponent和paintBorder方法之间的关系

本文介绍了Java中Swing与AWT两种图形用户界面工具包中的绘图机制,重点对比了paint与paintComponents方法在两个包中的不同作用及使用场景,并详细解释了在Swing中如何通过覆写paintComponent方法来实现组件的定制化绘制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

paint :绘制容器。
paintComponents : 绘制此容器中的每个组件
以上两个方法位于java.awt包里的Container类中

 

paint :绘制容器。
paintComponents : 绘制此容器中的每个组件

paintBorder :绘制组件的边框
paintChildren :绘制此组件的子组件

以上四个方法位于javax.Swing包中的JComponent类中

可以看出在awt包中和swing包中都有paint与paintComponent方法,但两者是不同的。

在Swing 中,组件绘制 paint() 方法会依次调用 paintComponent(),paintBorder(),paintChildren() 三个方法,所以Swing 编程时,如果继承 JComponent 或者其子类需要重绘的话,只要覆写 paintComponent() 方法而没必要覆写 paint()方法,因为 paintBorder()方法与paintChildren() 方法一般用默认即可。但如果需要重写border与children,当然可以覆写以实现更多的表现样式。

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值