2009-07-16 6 views
4

두 개의 손잡이가있는 슬라이더가 필요합니다 (범위를 나타냄).이 멋진 하나를 발견했습니다 here. 그러나, 그들은 그들 자신의 U.I. Java의 BasicSliderUI을 확장합니다. 페인트 메서드를 오버라이드하여 자신의 손잡이를 그립니다. 현재 모양과 느낌을 기반으로 기본 노브를 사용하고 싶습니다. 내가 BasicSliderUIpaintThumb 메쏘드를 호출 해 보았습니다. 그러나 이것은 현재의 모양과 느낌에 묶여 있지 않은 일반적인 모양의 손잡이를 제공합니다. 내가 말할 수있는 한, JSlider은 U.I. MultiSliderUI. JSlider처럼 U.I를 어떻게 만들 수 있습니까? 단 하나 대신 두 개의 손잡이가 그립니까?자바 스윙 범위 슬라이더 U.I

미리 감사드립니다.

+0

안녕하세요, 이제 링크를 게시 해 주시기 바랍니다. 나는 너무 게으르다. – jjnguy

+0

P. 그 제한에 대해 유감스럽게 생각합니다. 그것은 링크 스패머를 막기위한 것입니다. – jjnguy

+0

링크가 추가되었습니다. –

답변

1

당신은이 오픈 소스입니다 Jide Commons Layer

에서 RangeSlider 클래스를 사용할 수 있습니다.

2

javax.swing.UIManager에서 현재 모양과 느낌을 얻고 getUI(new JSlider())을 호출 해보세요. 이것은 JSlider에 사용 된 현재 UI를 리턴해야하며, 이는 JSliderUI으로 유형 변환 가능해야합니다.

불행하게도 JSliderUIpaintThumb(Graphics g) 방법을 가지고 있지 않지만, BasicSliderUI가하는, 적어도 Windows XP 및 Windows Vista 시스템의 모양과 느낌에 BasicSliderUI의 서브 클래스이기 때문에, 금속의 모양과 느낌입니다.

당신이 BasicSliderUI의 인스턴스의 경우는 그래서 당신은 BasicSliderUI에 캐스팅하고 그것에 paintThumb(Graphics g)를 사용할 수있는 경우 JSliderUI 그렇지 않으면 당신은 이미 그 일을하는 방식으로 기본, 볼이 그래서 일단. 이것이 실제로 작동하는지 모르겠지만 필요할 경우 첫 시도가 될 것입니다.

JSliderUIBasicSliderUI에서 파생 된 경우 소스를 확인할 Linux/Mac이 없지만 자바 소스 코드를 확인하십시오.