texticons.java

来自「tame,扩展了好多SWing组件:JTable」· Java 代码 · 共 75 行

JAVA
75
字号
/* (swing1.1) */package tame.icon;import java.util.*;import java.awt.*;import javax.swing.*;import javax.swing.plaf.metal.*;/**@author Nobuo Tamemasa@version 1.0 01/12/99*/public class TextIcons extends MetalIconFactory.TreeLeafIcon {  protected String label;  private static Hashtable labels;  protected TextIcons() {  }  public void paintIcon(Component c, Graphics g, int x, int y) {    super.paintIcon( c, g, x, y );    if (label != null) {      FontMetrics fm = g.getFontMetrics();      int offsetX = (getIconWidth()  - fm.stringWidth(label)) /2;      int offsetY = (getIconHeight() - fm.getHeight()) /2 - 2;      g.drawString(label, x + offsetX ,                          y + offsetY + fm.getHeight());    }  }  public static Icon getIcon(String str) {    if (labels == null) {      labels = new Hashtable();      setDefaultSet();    }    TextIcons icon = new TextIcons();    icon.label = (String)labels.get(str);    return icon;  }  public static void setLabelSet(String ext, String label) {    if (labels == null) {      labels = new Hashtable();      setDefaultSet();    }    labels.put(ext, label);  }  private static void setDefaultSet() {    labels.put("c"     ,"C");    labels.put("java"  ,"J");    labels.put("html"  ,"H");    labels.put("htm"   ,"H");    // and so on    /*    labels.put("txt"   ,"TXT");    labels.put("TXT"   ,"TXT");    labels.put("cc"    ,"C++");    labels.put("C"     ,"C++");    labels.put("cpp"   ,"C++");    labels.put("exe"   ,"BIN");    labels.put("class" ,"BIN");    labels.put("gif"   ,"GIF");    labels.put("GIF"   ,"GIF");    labels.put("", "");   */  }}

⌨️ 快捷键说明

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