无论如何要将字符串转换为ImageIcon?Java:字符串ImageIcon?
有点像这里的代码:http://www.java2s.com/Code/Java/SWT-JFace-Eclipse/Createaniconinmemory.htm
取而代之的是红色矩形的,我想显示一个String作为的ImageIcon。
我的目的是显示这个动态创建的ImageIcon除了Jtree节点。
无论如何要将字符串转换为ImageIcon?Java:字符串ImageIcon?
有点像这里的代码:http://www.java2s.com/Code/Java/SWT-JFace-Eclipse/Createaniconinmemory.htm
取而代之的是红色矩形的,我想显示一个String作为的ImageIcon。
我的目的是显示这个动态创建的ImageIcon除了Jtree节点。
您可以使用动态图标,就像这样:
public class DynamicIcon implements Icon
{
Font font = new Font("SansSerif", Font.PLAIN, 12);
private final static int DEFAULT_SIZE = 16;
private int width = DEFAULT_SIZE;
private int height = DEFAULT_SIZE;
private String iconText;
public DynamicIcon(String iconText)
{
this.iconText = iconText;
recalculateIconWidth(iconText);
}
private void recalculateIconWidth(String iconText)
{
FontRenderContext frc = new FontRenderContext(null, true, true);
Rectangle2D bounds = font.getStringBounds(iconText, frc);
width = (int) bounds.getWidth();
height = (int) bounds.getHeight();
}
@Override
public int getIconHeight()
{
return height;
}
@Override
public int getIconWidth()
{
return width;
}
@Override
public void paintIcon(Component c, Graphics g, int x, int y)
{
Graphics2D g2d = (Graphics2D) g;
g2d.setFont(font);
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
//FontColor
g2d.setPaint(Color.BLACK);
g2d.drawString(iconText, 4, 12);
}
}
我将如何使它的字体被调整大小来填充它所在的按钮? – 2017-08-13 19:00:16
为什么不给树的渲染来渲染'String'?我不认为有必要让它成为一个图标(在任何时候)。 – 2012-02-16 10:39:48
是否有可能用一个字符串替换每个树节点的imageicon?这也适用于我。 – KJW 2012-03-01 19:16:57