I see. Since it was the only theme in the select, the value doesn't change, and the listener is never triggered. If the default theme becomes one of the default themes, that would fix it.

You might want to add some change listeners for the preferences in case the preferences file is changed without using the dialog.