2010-07-01 4 views
3

Je suis en train d'écrire un jeu en utilisant Swing et je veux obtenir un look inspiré "steampunk" pour l'interface graphique. Cela nécessitera des composants animés, des bordures métalliques épaisses, etc.Personnalisation de Swing par rapport aux composants personnalisés?

Je sais que je peux obtenir de bons effets en surchargeant paintComponent et en effectuant tout mon rendu pour les composants légers personnalisés dans cette méthode.

Est-ce la voie à suivre, ou devrais-je envisager de développer un tout nouveau Look and Feel plug-in?

Quels sont les avantages/inconvénients de chacun?

+0

Voir [ma réponse] (http://stackoverflow.com/questions/3001765/custom-swing-component-questions-on-approach/3002414#3002414) à une question presque identique à celle d'il y a quelques semaines. – Kirill

Répondre

4

Personnellement, je pense que vous devriez opter pour un tout nouveau look and feel ... vous pouvez aussi être capable de le construire sur Synth L&F plutôt que d'écrire tout seul.

Nimbus est un exemple d'un L & écrit au sommet de Synth.

+0

Merci! Cela s'est avéré un excellent conseil: j'ai réussi à obtenir une version personnalisée de Synth pour travailler et rendre de nouveaux composants brillants en quelques heures. – mikera

+0

+1 pour Synth LAF, c'est un super LAF (et ce serait encore mieux si les objets Synth UI de base étaient publics et pas amicaux ... ahem). ** @ mikera ** Juste, si vous considérez beaucoup de changements et une application très utilisée, mieux vaut ne pas utiliser la configuration xml et la peinture par images, mais implémenter des outils personnalisés et la configuration dans le code (voir implémentation de Nimbus dans java7) . Mange beaucoup moins de mémoire et est plus maniable. – Taisin

3

Création d'un nouveau L & F est une route plus longue, mais garde votre code simple. (Si vous n'avez besoin que de quelques modifications, cela n'en vaut pas la peine.) Par exemple, les animations peuvent être codées dans la partie L &, vous n'avez donc pas à vous en soucier dans vos composants. Je suggère d'éditer un L & F qui est proche de ce dont vous avez besoin.

Questions connexes