이것은 매우 일반적인 문제이며 사용 된 솔루션은 what I searched과 유사하며 나중에 발견되었습니다. 하나는 현재 선택된 인덱스를 기반으로 사용하거나 사용 자체를 사용할 수 없게 JLabel
와 ListCellRenderer
을 구현개별 JComboBox 항목 비활성화
setFocusable
호출에도 불구하고 선택할 수 있다는 점이다
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {
setText(value.toString());
UIDefaults defaults = UIManager.getDefaults();
Color fc;
if (index == 1) {
setEnabled(false);
fc = defaults.getColor("Label.disabledForeground");
setFocusable(false);
} else {
// fc = defaults.getColor("Label.foreground");
fc = list.getForeground();
setEnabled(list.isEnabled());
setFocusable(true);
}
setForeground(fc);
setBackground(isSelected ? list.getSelectionBackground() : list
.getBackground());
return this;
}
. 어떻게 실제로 비활성화합니까?