我有一个自定义树单元格渲染器,我用它来渲染自定义图标JTree,我非常喜欢警告图标和JOptionPane分别为警告消息和错误消息显示的错误图标。显然我可以使用下面的代码来获取我自己使用的图标,但这样做很重,需要我实例化我永远不会使用的对话框:
public class ValidationCellRenderer extends DefaultTreeCellRenderer {
private Icon warnIcon;
private Icon errorIcon;
public ValidationCellRenderer() {
JOptionPane optionPane = new JOptionPane(new Object(),
JOptionPane.WARNING_MESSAGE);
warnIcon = optionPane.getIcon();
optionPane = new JOptionPane(new Object(),
JOptionPane.ERROR_MESSAGE);
errorIcon = optionPane.getIcon();
}
}
必须有更好的方法将这些图标作为资源,但我没有从Java API中找到一种简单的方法。有人有什么建议吗?
答案 0 :(得分:37)
我们也通过以下方式使用它们:
UIManager.getIcon("OptionPane.errorIcon")
UIManager.getIcon("OptionPane.warningIcon")
答案 1 :(得分:7)
如果您想了解所有图标及其名称,可以查看:UIManager Defaults