Existe uma maneira de virar um JSLider para que a seta deslizante aponte para cima?
Pergunta
Eu tenho tentado encontrar uma maneira de fazer isso há um tempo agora e não consigo descobrir isso. Sei que você pode alterar a orientação de um JSLider, usando a Setorientation (horizontal | vertical) e que você também pode inverter a escala, usando o Setinverted (true). Meu problema é o seguinte:
1) O JSLider precisa ser horizontal;
2) o JSLider precisa estar abaixo dos dados;
3) A seta (ponta pontiaguda) no controle deslizante real deve estar apontando para cima, não para baixo (ou seja: para os dados).
A única maneira de entender isso é substituir o método PaintComponent do JComponent e recodificá-lo totalmente para um JSLider personalizado, o que parece um pouco ridículo, e nem tenho certeza de que funcionaria.
Obrigado pela ajuda!
Solução
Você pode substituir a miniatura usada em Uimanager Como esconder o botão do JSLider?
UIManager.getLookAndFeelDefaults().put(
"Slider.horizontalThumbIcon",
new Icon('your_icon')
);
No entanto, isso seria feito a todos os controles deslizantes do seu programa.