Безопасность. Предоставьте доступ на представлении пользователям, которые должны быть в состоянии видеть столбцы, возвращенные из него.
По-видимому, по умолчанию его нет. По крайней мере, когда я пытаюсь это назвать.
Простая выгрузка ключей из UIManager.getLookAndFeelDefaults (). Keys ()
дает следующее, если ключ содержит CheckBox:
CheckBox.foreground
CheckBox.border
CheckBox.totalInsets
CheckBox.background
CheckBox.disabledText
CheckBox.margin
CheckBox.rollover
CheckBox.font
CheckBox.gradient
CheckBox.focus
CheckBox.icon
CheckBox.focusInputMap
Прочитав ответ akf , я начал копаться код UIManager в пакетах plaf.synth и обнаруженные вызовы, которые по существу делегируют null disableCheckedIcon классам внешнего вида, чтобы попытаться преобразовать стандартный .icon в версию, выделенную серым цветом. В итоге я получил следующее:
Icon checkedIcon = UIManager.getIcon("CheckBox.icon");
Icon dsiabledCheckedIcon =
UIManager.getLookAndFeel().
getDisabledSelectedIcon(new JCheckBox(), checkedIcon);
Просматривая код для AbstractButton
, выясняется, что disabledSelectedIcon
является производным от selectedIcon
, если он не указан на AbstractButton (или в данном случае JCheckBox) через setDisabledSelectedIcon
. В этом случае вызов UIManager.getIcon ("...") не вернет искомый объект.
РЕДАКТИРОВАТЬ:
Обратите внимание, что JCheckBox имеет поле значка
как определено в API AbstractButton
, так же как JButton
может иметь значок. Это изображение, которое отображается рядом с текстом и отдельно от значка «отмечен» или «не отмечен», на который вы, возможно, имеете в виду.
Значок проверки / снятия флажка обрабатывается одним классом, найдено с помощью UIManager.getObject ('CheckBox.icon')
. Это подкласс Icon
, который обрабатывает как отмеченное, так и непроверенное состояние. Вы можете увидеть примеры этого в различных классах [L&F name] IconFactory
.