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

📄 graydicon.java

📁 Java中Swing界面库中几个类使用的例子
💻 JAVA
字号:
package jp.gr.java_conf.tame.swing.icon;import java.awt.*;import java.awt.image.*;import javax.swing.*;/** * @version 1.0 04/30/99 */public class GraydIcon implements Icon {  Icon icon;  Image image;    public GraydIcon(Icon icon) {    this.icon = icon;  }  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 GrayFilter();      image = c.createImage(        new FilteredImageSource(orgImage.getSource(),colorfilter));          }    g.drawImage(image, x, y, null);  }    public int getIconWidth()  { return icon.getIconWidth();  }  public int getIconHeight() { return icon.getIconHeight(); }   class GrayFilter extends RGBImageFilter {        public GrayFilter() {      // If I set ture, black is gone?!      //canFilterIndexColorModel = true;    }        public int filterRGB(int x, int y, int rgb) {      int r = (rgb & 0xff0000) >> 16;      int g = (rgb & 0x00ff00) >>  8;      int b = (rgb & 0x0000ff);      int iy = (int)(r + g + b)/3;      iy = Math.min(255, iy);      return ((rgb & 0xff000000)           | (iy << 16)           | (iy <<  8)           | iy);    }  }}

⌨️ 快捷键说明

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