Existe uma maneira de virar um JSLider para que a seta deslizante aponte para cima?

StackOverflow https://stackoverflow.com/questions/4027289

  •  26-09-2019
  •  | 
  •  

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!

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top