已有258人关注
java中 icon 的 paintIcon 方法为什么会被调用?
发表在Java答疑区 2017-04-16
是否精华
版块置顶:

例子的主方法中 好像没有调用 paintIcon 的代码 ,而且发现最小化窗口然后还原窗口一次就执行一次 paintIcon。为什么?

例子:

public class DrawIcon implements Icon { // 实现Icon接口

private int width; // 声明图标的宽

private int height; // 声明图标的长

public int getIconHeight() { // 实现getIconHeight()方法

return this.height;

}

public int getIconWidth() { // 实现getIconWidth()方法

return this.width;

}

public DrawIcon(int width, int height) { // 定义构造方法

this.width = width;

this.height = height;

}

// 实现paintIcon()方法

public void paintIcon(Component arg0, Graphics arg1, int x, int y) {

arg1.fillOval(x, y, width, height); // 绘制一个圆形

}

public static void main(String[] args) {

DrawIcon icon = new DrawIcon(15, 15);

// 创建一个标签,并设置标签上的文字在标签正中间

JLabel j = new JLabel("测试", icon, SwingConstants.CENTER);

JFrame jf = new JFrame(); // 创建一个JFrame窗口

Container c = jf.getContentPane();    //获得容器

c.add(j);             //添加标签

jf.setSize(100,100);

jf.setVisible(true);

jf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

}

}


分享到:
精彩评论 1
David
学分:914 LV7
TA的每日心情
最后的冲刺
2017-07-15 10:46:08
2017-04-17
沙发

当DrawIcon类实现Icon接口时,DrawIcon类需要实现Icon接口中的三个方法:getIconWidth()、getIconHeight()和paintIcon(Component arg0, Graphics arg1, int x, int y)。每当创建DrawIcon类的对象时,都过调用这三个方法。

首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照