我想在DB中保存按钮图标,我希望有类似的内容:
Button button = new Button();
String icon = "FontAwesome.COGS";
button.setIcon(icon);
或
Button button = new Button();
String icon = "fonticon://FontAwesome/f013";
button.setIcon(new ThemeResource(icon));
实现这一目标的正确方法是什么?
答案 0 :(得分:2)
将图标的名称存储在数据库中并按名称加载:
setIcon(FontAwesome.valueOf("COGS"))
这可能会因ClassNotFoundException
而失败。
答案 1 :(得分:0)
我用以下代码
解决了这个问题button.setIcon(FontAwesomeUtil.fromName("COG"));
public class FontAwesomeUtil {
public static FontAwesome fromName(String name) {
FontAwesome[] arr = FontAwesome.values();
int len = arr.length;
for(int i = 0; i < len; ++i) {
FontAwesome f = arr[i];
if(f.name().equals(name)) {
return f;
}
}
System.out.println("name " + name + " not found in FontAwesome");
return null;
}
}