为什么要重写paintcomponent?

TheBigBangWOW 2016-07-30 10:41:41
有一个类继承了了jpanel,然后在里面重写了paintcompaint,以实现设置jpanel中背景图的目的


但是有一个问题,既然默认的没有被重写的paintcomponent也有绘制组件的效果,那么就算不重写,也会有绘制的作用,

但是为什么还需要特意去重写一个paintcomponent呢?


究竟默认的paintcomponent方法里面是什么代码?使得有时候需要重写它才能达到一些效果?

谢谢各位了



/**
* 图片铺满背景的类
*
*/

package com.tools;

import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;

import javax.swing.JPanel;

public class ImagePanel extends JPanel{
Image im;


public ImagePanel(Image im)
{
this.im = im;
//希望能自适应
// int w=Toolkit.getDefaultToolkit().getScreenSize().width;
// int h=Toolkit.getDefaultToolkit().getScreenSize().height;


}


public void paintComponent(Graphics g)
{
//1.首先调用super清屏
super.paintComponent(g);
//2.然后画背景图,参数表示背景图始终是铺满整个界面的
g.drawImage(im, 0, 0, this.getWidth(),this.getHeight(),this);


}
...全文
460 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackyBlithe 2016-08-20
  • 打赏
  • 举报
回复
重写是为了将图片重新描绘在面板中
TheBigBangWOW 2016-08-02
  • 打赏
  • 举报
回复
hello,有人知道吗

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧