Дополнительный вопрос от этого: Имена шрифтов Swing не совпадают?(Выбор шрифта, и я пытаюсь отобразить системный шрифт по умолчанию в JComboBox)
Похоже, есть логические и физические шрифты.Логические шрифты: Serif, SansSerif, Monospaced, Dialog и DialogInput.
Эти шрифты являются динамическими, и их соответствующий физический шрифт (шрифт, который они будут представлять во время выполнения программы), определяется при загрузке программы.
Мне нужен доступ к физическому шрифту этих логических шрифтов.
Моей первой идеей было попытаться загрузить эти файлы: http://download.oracle.com/javase/6/docs/technotes/guides/intl/fontconfig.html#loading
, используя что-то вроде этого:http://www.rgagnon.com/javadetails/java-0434.html
public static Properties load(String propsName) throws Exception {
Properties props = new Properties();
URL url = ClassLoader.getSystemResource(propsName);
props.load(url.openStream());
return props;
}
и последующее получение физических шрифтов из этих файлов свойств.
Однако я просто получаю NullPointerExceptions при попытке загрузить свойства, используя имена в первом файле (они не найдены, но я проверил и действительно нашел их в моей системе).Я не знаю, почему я получаю это, но независимо от этого, я не могу не думать, что должен быть более простой способ сделать это?