두 개 이상의 JButton
을 공유 상태로 만들려고합니다. 즉, 마우스 버튼을 JButton
위에 놓았을 때 둘 다 우울하게 표시됩니다 ("무장"으로 표시됨). 또는 체크 상자 인 경우 체크/체크되지 않은 동시에 등 사용자에게JButton 간의 상태 공유
,이 나타나야 두 버튼이 계층 구조에서 둘 이상의 위치에서 나타나는의 같은 버튼 것처럼 (이 허용하지 않는 현실 스윙에.)
하나의 ButtonModel
을 만들고 두 모델에 같은 모델을 지정하면 반쯤 얻을 수 있습니다.
그러나 이 아니고 눈에 띄는 효과는 버튼간에 공유됩니다. 하나의 버튼을 클릭하면 해당 버튼에 포커스가 부여됩니다 (버튼 내에서 사각형으로 표시됨).) 다른 단추에서 제거합니다. 단추 중 하나에 포커스가있을 때 포커스가있는 것처럼 두 단추를 렌더링하고 싶습니다.
깨끗한 방법이 있습니까?
이상적으로 나는 선택한 룩앤필과는 독립적으로하고 싶습니다.
편집 :ButtonModel
을 공유하는 데 또 다른 문제점이 있음을 발견했습니다. 단추 중 하나에 포커스가 없으면 모델의 armed
및 pressed
속성이 false
으로 설정됩니다. 이것은 이후 처리 후 mousePressed
이 발생하므로 첫 번째 버튼에 포커스가있을 때 두 번째 버튼을 누르면 두 번째 버튼을 누를 때까지 눌린 상태로 들어 가지 않습니다.
당신이 옳다고 생각하고 ButtonUI를 확장해야하지만 기본 UI에 위임 할 수 있습니다. 그것은 제가 지금 사용하고있는 기술의 일부입니다. – finnw
이 L & F는 무엇입니까? 나는 다른 지위에서 그것을 봤다. –
@ davidblaine L & F = 모양과 느낌 –