⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 grayicon.java

📁 JR 公共类库 --Java研究组织开源子项目 本项目的发起的初衷是丰富和完善java的类库
💻 JAVA
字号:
package org.jr.awt.icon;

/**
 * <p>Copyright: Copyright (c) 2002-2003</p>
 * <p>Company: JavaResearch(http://www.javaresearch.org)</p>
 * <p>最后更新日期:2003年2月16日
 * @author Cherami
 */
import java.awt.*;
import java.awt.image.*;
import javax.swing.*;

import org.jr.awt.image.*;

/**
 * 灰度变换图标。
 * @since  0.1
 */

public class GrayIcon
    implements Icon {
  Icon icon;
  Image image;
  /**
   * 根据原图标构造一个GrayIcon。
   * @param icon 原图标
   * @since  0.1
   */
  public GrayIcon(Icon icon) {
    this.icon = icon;
  }

  /**
   * 绘制图标
   * @param c 绘制组件
   * @param g 图形设备
   * @param x 绘制的x坐标的起始点
   * @param y 绘制的y坐标的起始点
   * @since  0.1
   */
  public void paintIcon(Component c, Graphics g, int x, int y) {
    if (image == null) {
      Image orgImage = c.createImage(getIconWidth(), getIconHeight());
      Graphics imageG = orgImage.getGraphics();
      Color background = c.getBackground();
      imageG.setColor(background);
      imageG.fillRect(0, 0, getIconWidth(), getIconHeight());

      icon.paintIcon(c, imageG, x, y);

      ImageFilter colorfilter = new org.jr.awt.image.GrayFilter(GrayModel.
          CS_AVERAGE);
      image = c.createImage(
          new FilteredImageSource(orgImage.getSource(), colorfilter));

    }
    g.drawImage(image, x, y, null);
  }

  /**
   * 图标宽度。
   * @return 图标宽度
   * @since  0.1
   */
  public int getIconWidth() {
    return icon.getIconWidth();
  }

  /**
   * 图标高度。
   * @return 图标高度
   * @since  0.1
   */
  public int getIconHeight() {
    return icon.getIconHeight();
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -