C'è un modo per lanciare una JSlider in modo che il cursore freccia rivolta verso l'alto?

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

  •  26-09-2019
  •  | 
  •  

Domanda

Ho cercato di trovare un modo per fare questo per un po 'di tempo e non riesco sembrano capirlo. So che è possibile modificare l'orientamento di un JSlider, utilizzando setOrientation (ORIZZONTALE | verticale), e che si può anche invertire la scala, utilizzando setInverted (vero). Il mio problema è il seguente:

1) La JSlider deve essere orizzontale;
2) La JSlider ha bisogno di essere sotto i dati;
3) La freccia (punta-punta) sul cursore effettivo deve essere rivolto verso l'alto, non verso il basso (cioè verso la .: dati).

L'unico modo che riesco a capire per farlo è quello di sovrascrivere il metodo paintComponent da JComponent ed interamente ri-codice per un costume JSlider, che sembra un po 'ridicolo, e non sono nemmeno sicuro che avrebbe funzionato.

Grazie per l'aiuto!

È stato utile?

Soluzione

È possibile sostituire la miniatura utilizzati in UIManager Come nascondere la manopola di JSlider ?

UIManager.getLookAndFeelDefaults().put(
    "Slider.horizontalThumbIcon",
    new Icon('your_icon')
);

Tuttavia, questo potrebbe essere fatto per tutti i cursori nel programma.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top