Короче, разобрался сам. Пришлось посмотреть исходники OpenJDK.
Оказалось, что, по крайней мере под Linux, JRE файлы fontconfig* в /opt/java игнорирует (спрашивается, зачем они там вообще лежат). Вместо этого она смотрит системную конфигурацию Fontconfig, т.е., например, в качестве шрифта Dialog берётся тот шрифт, который выдаёт команда
fc-match sans
Таким образом, подменив этот шрифт путём шаманства с файлами из директории /etc/fonts/conf.d, мы изменим шрифт Dialog в Java. Одна беда - в остальных программах шрифт по умолчанию тоже поменяется. Я менял на Arimo - смотрится, мягко говоря, не очень.
Но есть выход. В директории /etc/fonts/ есть файл fonts.conf, создаём его копию под именем /etc/fonts/fonts.conf.alt, там исправляем строчку
<include ignore_missing="yes">/etc/fonts/conf.d</include>
на
<include ignore_missing="yes">/etc/fonts/conf.d.alt</include>
После этого создаём директорию /etc/fonts/conf.d.alt, копируем в неё все нужные нам файлы и (или) символические ссылки из /etc/fonts/conf.d и корёжим их, как нам заблагорассудится (только если это символические ссылки - не забываем, что изменится и соответствующий "основной" файл, так что в этом случае лучше копировать, а не делать ссылку).
Проверяем результат командой
FONTCONFIG_FILE=/etc/fonts/fonts.conf.alt fc-match sans
Если результат (выводимое имя шрифта) нас устраивает, запускаем Java-приложение аналогичным образом, например
FONTCONFIG_FILE=/etc/fonts/fonts.conf.alt netbeans
При этом для остальных приложений всё остаётся по-прежнему.