16

我有一个自定义树单元格渲染器,我用它来渲染自定义图标 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 中找到一种简单的方法来做到这一点。有人有什么建议吗?

4

2 回答 2

38

我们也通过以下方式使用它们:

UIManager.getIcon("OptionPane.errorIcon")

UIManager.getIcon("OptionPane.warningIcon")
于 2009-07-28T21:26:12.920 回答
8

如果您想了解所有图标及其名称,可以查看:UIManager Defaults

于 2009-07-28T23:45:43.403 回答