안녕하세요 :) Java 6을 사용하고 있습니다.JComboBox : HTML 항목과 함께 작동하는 키 선택을 얻는 방법?
당신이 JComboBox
을 사용하는 기능
문제가
불행하게도,이 작동하지 않습니다, 당신의 항목이 HTML 문자열 인 경우, 예를 들어, "<html><b>foo</b> <i>bar</i></html>"
. 나는 주로 HTML을 사용하여 다른 색상으로 항목을 표시하고 있습니다. 이 문제를 해결하기 위해 그래서
나쁜
솔루션, 나는 항목이 "<html>"
로 시작하면 기본적으로 모든 태그를 무시 JComboBox$DefaultKeySelectionManager
을 변경하여 내 자신의 KeySelectionListener을 구현했습니다.
그건 그렇습니다. 하지만 : 기본적으로 사용되는 것이 JComboBox$DefaultKeySelectionManager
이라는 잘못된 생각이 들었습니다. 왜? 첫 번째 문자 만 처리하기 때문에 문자가 입력됩니다. 같은 문자로 시작하는 항목이 많은 긴 목록의 경우 이는 전혀 편리하지 않습니다.
상자에 입력 한 모든 문자를 처리하는 것이 좋으며, 기본값은 BasicComboBoxUI$DefaultKeySelectionManager
입니다 (기본값). 문제는 이것이 중첩 ComboBoxUI와 상호 작용한다는 것입니다. 그것의 JList
걸리고 getNextMatch(prefix, …)
을 호출합니다. 슬프게도 JList.getNextMatch()
은 HTML 항목에 신경 쓰지 않습니다.
주어진 LAF가 사용되는 UI를 결정하기 때문에 BasicComboBoxUI를 다른 JList 구현으로 확장 할 수 없습니다.
아이디어가 있으십니까? Java 7에서이 문제를 해결하지 못했을 것입니다.
을 수행하는 콤보 상자에 렌더러를 설정 a [SSCCE] (http://sscce.org/) – mKorbel