ResourceManager class consisting of multiple singletons I've implemented a class, which provides access to different static resources, which are used by different frontends. I'm hesitating, because in Java getters and setters are quite wide spread. So my question is, if this code smells bad?

public class ResourceManager {
    public static final Preferences Preferences = new Preferences();
    public static final ResourceBundle Texts = ResourceBundle.getBundle("com.stackexchange.resources.Language");

    public static Image getImage(String name) {
        Image retVal = null;

        try {
            retVal = ImageIO.read(ClassLoader.getSystemResource(name));
        } catch (IOException e) {
            // ToDo Use logging functionality
        }

        return retVal;
    }

    private ResourceManager() {
    }

    public static class UserInterface {
        public static final Font titleFont = new Font("default", Font.PLAIN, 18);
    }
}
The fact that you have "Manager" as part of the name of the class is a code smell.  This class violates the Single Responsibility Principle.

In particular, Preferences sounds like it contains user-specific data; I wouldn't call it a "resource".  It should be split into its own class.

On the other hand, Texts, getImage(), and UserInterface.titleFont appear to contain data that would be application-wide constants.  A class like this could make sense:

public class UIResources {
    public static UIResources getInstance(Locale locale) {
       …
    }

    public Image getImage(String name) {
        …
    }

    public String getText(String name) {
        …
    }

    public Font getFont(String role) {
        …
    }
}