Я отладил ваш SSCCE, и значение, переданное setPrototypeDisplayValue
, является пустой строкой.Изменение строки на
cbox.setPrototypeDisplayValue(cbox.getSelectedItem());
Все работает как положено.Удаление вызова на setPrototypDisplayValue
также приводит к тому, что программа ведет себя так, как и ожидалось.
РЕДАКТИРОВАТЬ:
Другая проблема заключается в том, что ни одно событие не вызывается для значения отображения прототипа, поскольку вы устанавливаете его на предыдущеезначение, как и раньше, и событие вызывается, только если значение действительно изменяется.Добавление cbox.setPrototypeDisplayValue("");
перед cbox.setPrototypeDisplayValue(cbox.getSelectedItem().toString())
заставляет все работать так, как ожидается, даже в JDK 1.6.Я согласен с тем, что с учетом изменения шрифта предпочтительный размер следует пересчитать, но по крайней мере это изменение является обходным путем.