public interface UIResource
ComponentUI.installUI()
и ComponentUI.uninstallUI()
методы могут использовать этот интерфейс, чтобы решить, было ли значение свойств переопределено. Например, JList cellRenderer свойство инициализируется BasicListUI.installUI (), только если это - начальное значение, нуль: if (list.getCellRenderer() == null) { list.setCellRenderer((ListCellRenderer)(UIManager.get("List.cellRenderer"))); }В uninstallUI () время мы сбрасываем свойство к нулю, если его значение является экземпляром UIResource:
if (list.getCellRenderer() instanceof UIResource) { list.setCellRenderer(null); }Этот образец применяется ко всем свойствам кроме java.awt. Компонентный шрифт свойств, передний план, и фон. Если одно из этих свойств не инициализируется, или, явно устанавливают в NULL, его контейнер обеспечивает значение. По этой причине
"== null"
ненадежно, когда к installUI () призывают, динамически изменяют компонентный стиль. Так в installUI () время мы проверяем, чтобы видеть, является ли текущая стоимость UIResource: if (!(list.getFont() instanceof UIResource)) { list.setFont(UIManager.getFont("List.font")); }
ComponentUI
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92