0
여러 항목이있는 jcombobox가 있습니다. 사용자가 타이핑을 시작할 때 목록을 필터링하고 싶습니다. 키보드 이벤트가 발생했을 때 jcombobox의 항목을 숨기는 방법은 무엇입니까?Java : Swing JComboBox - 항목을 숨길 수 있습니까?
여러 항목이있는 jcombobox가 있습니다. 사용자가 타이핑을 시작할 때 목록을 필터링하고 싶습니다. 키보드 이벤트가 발생했을 때 jcombobox의 항목을 숨기는 방법은 무엇입니까?Java : Swing JComboBox - 항목을 숨길 수 있습니까?
정규식을 사용하여 항목 목록을 필터링하고 JCombobox를 새로운 ComboBoxModel
으로 업데이트하면됩니다.
뭔가 같은 :
DefaultComboBoxModel comboModel = ((DefaultComboBoxModel)yourComboBox.getModel());
....
// invoke regex on yourArray
comboModel.removeAllElements();
for(int i = 0; i<yourArray.length; i++) {
comboModel.addElement(yourArray[i]);
}
[편집]
두 개의 목록을 사용하지 않으려는 경우 : 실제 데이터에 대한 하나, 둘을 - 필터링 된 데이터에 대한
쓰기 사용자 정의 ComboBoxModel에서 "숨김"기능을 구현할 수 있습니다.
정규 표현식을 사용하는 경우 다른 배열에 값을 저장해야합니다 ... 데이터를 복제한다는 것을 암시 할 수 있습니까? 또는 무언가가 누락 된 경우 –
"숨기기"를 원한다면 2 개의 배열을 사용할 수 없습니다. 다른 방법은 보이지 않습니다. –
'removeAllItems'이'JCombobox'를 참조하고 있기 때문에'DefaultComboBoxModel'을 사용합니다. –