OVH Cloud OVH Cloud

Redessiner un JSlider avec des bitmaps

3 réponses
Avatar
Olivier
Bonjour,

Pour débuter en java, j'ai bâti une version de tetris avec swing et awt qui
en est à un stade de finition. Comme je veux en faire quelque chose de
visuellement très attrayant, je redessine tous les composants. Parmi
ceux-ci, j'avais un JSlider permettant au joueur de choisir son niveau de
difficulté initial et lui indiquant le niveau courant pendant sa partie.

Seulement je ne sais pas redessiner un JSlider (en fait, je doit avoir un
bitmap en fond et un bitmap pour le curseur, toute autre fioriture
disparaissant). Je me suis débrouillé pour faire un truc qui marche avec un
JPanel en capturant les clics de souris, mais avant de l'affiner, je me
demandais s'il était possible d'étendre un JSlider pour parvenir au même
résultat plus facilement.

Merci d'avance,

Olivier

P.S. : pour les joueurs, je mettrai mon jeu en ligne dès que je l'aurai
fini, je trouve qu'il marche plutôt bien :-P

3 réponses

Avatar
Isammoc
Seulement je ne sais pas redessiner un JSlider (en fait, je doit avoir un
bitmap en fond et un bitmap pour le curseur, toute autre fioriture
disparaissant). Je me suis débrouillé pour faire un truc qui marche avec
un

JPanel en capturant les clics de souris, mais avant de l'affiner, je me
demandais s'il était possible d'étendre un JSlider pour parvenir au même
résultat plus facilement.


Euh... redéfinir la méthode paint?
il doit bine y avoir un attribut en protected pour savoir la position du
slide...

Merci d'avance,

Olivier



De rien, si j'ai pu t'aider...

Isammoc

Avatar
vc.spam
Olivier wrote in message news:<4156b5e3$0$23936$...
Bonjour,

Pour débuter en java, j'ai bâti une version de tetris avec swing et awt qui
en est à un stade de finition. Comme je veux en faire quelque chose de
visuellement très attrayant, je redessine tous les composants. Parmi
ceux-ci, j'avais un JSlider permettant au joueur de choisir son niveau de
difficulté initial et lui indiquant le niveau courant pendant sa partie.

Seulement je ne sais pas redessiner un JSlider (en fait, je doit avoir un
bitmap en fond et un bitmap pour le curseur, toute autre fioriture
disparaissant). Je me suis débrouillé pour faire un truc qui marche avec un
JPanel en capturant les clics de souris, mais avant de l'affiner, je me
demandais s'il était possible d'étendre un JSlider pour parvenir au même
résultat plus facilement.

Merci d'avance,

Olivier

P.S. : pour les joueurs, je mettrai mon jeu en ligne dès que je l'aurai
fini, je trouve qu'il marche plutôt bien :-P


Salut Olivier,

Je pense que tu devrais regarder du côté des look and feel. C'est ça
qui déterminer le look de tes composants (cherche aussi dans les
archives du news group). Tu dois pouvoir dériver d'un look and feel
existant, un look and feel sympa pour les composants SWING de ton
tétris. Je crois que c'est ça la méthode propre et surtout
réutilisable, pour surcharger l'aspect graphique de tes composants.
Comme base de départ tu peux chercher le xplookandfeel de Stephan
Krause, qui avait fait sa version d'un look and feel XP. Je crois
aussi que depuis 1.4 il y a de nouveaux lookandfeel plus simple à
surcharger (basé sur une lib GNU, je crois). J'y avais jeté un oeil
une fois, et j'avais abandonné au bout de 10 minutes, faute de temps.
Mais ça doit être gérable... Par contre c'est un peu rude comme entrée
en matière.

BOn courage.

Avatar
Olivier
Merci,

EN fait, je suis arrivé à un truc très bien et relativement simple en
dessinant sur un JPanel puis en gérant les mouvements de la souris. Comme
le calcul de la position x de mon curseur curseur utilise un cosinus, je ne
sais pas si j'aurais pu obtenir la même chose avec un JSlider.

Je vais regarder le xplookandfeel en tout cas :-)

Olivier


Salut Olivier,

Je pense que tu devrais regarder du côté des look and feel. C'est ça
qui déterminer le look de tes composants (cherche aussi dans les
archives du news group). Tu dois pouvoir dériver d'un look and feel
existant, un look and feel sympa pour les composants SWING de ton
tétris. Je crois que c'est ça la méthode propre et surtout
réutilisable, pour surcharger l'aspect graphique de tes composants.
Comme base de départ tu peux chercher le xplookandfeel de Stephan
Krause, qui avait fait sa version d'un look and feel XP. Je crois
aussi que depuis 1.4 il y a de nouveaux lookandfeel plus simple à
surcharger (basé sur une lib GNU, je crois). J'y avais jeté un oeil
une fois, et j'avais abandonné au bout de 10 minutes, faute de temps.
Mais ça doit être gérable... Par contre c'est un peu rude comme entrée
en matière.

BOn courage.