Search Results for 'quaqua'


1 POSTS

  1. 2008.01.17 mac용 quaqua 라이브러리의 focus 문제

mac용 quaqua 라이브러리의 focus 문제

Posted 2008.01.17 11:35 by 선율아빠
quaqua library가 4.0으로 update(leopard 지원 추가)되면서 다음과 같은 문제가 발생되었고 최신 버젼인 4.2beta2까지도 고쳐지지 않고 있다.

문제 : focus를 가지고 있는 component A가 있고 component B를 마우스로 클릭하면 B가 focus를 가지고 오고 A는 focus를 잃어야 하지만 A가 focus를 계속 가지고 있는다. (ex, TextField에 focus가 있는 상태에서 Button을 클릭해도 focus는 여전히 TextField에 남아 있다)
이는 ComboBox가 Editor를 가지고 있는 경우에 크게 문제가 될 수 있다. ComboBox의 경우 focus를 잃을 경우 사용자가 입력한 값을 ComboBox Model에 선택한 값(setSelected)으로 설정하고 ComboBox의 Editor의 setItem을 하게 되어 있는데 현재 focus를 뺏기지 않기 때문에 ComboBox에 입력 도중 다른 Button 등을 눌러 그 action code에서 ComboBox의 선택값을 가져오려고 해도 정상적인 값을 가져올 수가 없다. 이는 UIManager에서 UI의 설정(보통 properties 형태로 제공)에서 각 component에 대해 focus를 요구할 수 있는지를 설정하게 되는데(setFocusRequest) quaqua 4.x의 경우 이에 대한 local 설정이 없다. 이는 quaqua library를 다운 받아 포함되어 있는 소스코드(BasicQuaquaLookAndFeel.initGeneralDefaults())를 통해 확인할 수 있다.

해결 : Application 실행 시 다음의 VM argument를 추가한다.
         -DQuaqua.requestFocusEnabled=true
신고

Tag : , ,

티스토리 툴바