Предположим, у вас есть JCheckBox
, который вы хотите использовать в качестве индикатора включения/выключения. Вы используете setEnabled(false)
для отключения щелчков мышью на JCheckBox
. Но setEnabled(false)
также выделяет checkbox и текст checkbox. Есть ли способ настроить setEnabled(false)
так, чтобы седаться не было?Есть ли способ настроить Java setEnabled (false)?
Если это невозможно, это единственное решение, что-то вроде линий ButtonModel
?
Если вы хотите, чтобы для всех ваших флажков изменились внешний вид и ощущение. Чтобы отключить мыши, вы также можете добавить над ним прозрачный компонент (вы также должны отключить прием фокуса, или пользователь может использовать клавиатуру для его проверки). – mihi
Это распространенная проблема с интерфейсами пользовательского интерфейса. Состояние отключено (только для чтения) не очень читаемо. Мне интересно, что делают другие, чтобы решить эту проблему. –
Используйте другой элемент пользовательского интерфейса, возможно, JLabel с изменяющимся текстом или что-то еще. Флажки являются «зарезервированными элементами» в терминах удобства использования. Использование флажка в качестве индикатора, который нельзя использовать для изменения настройки, аналогичен использованию #define, чтобы сделать C похожим на другой язык. Конечно, это законно, но почему вы когда-нибудь заставляете пользователей проходить эту боль? – jprete