2010-11-30 32 views

Répondre

1

Absolument Oui. Mais pas si facile.

Chaque composant Swing est associé à une interface utilisateur qui peut être remplacée par votre propre interface utilisateur personnalisée. Vous pouvez créer un JLabelUI (classe de délégué UI) et le définir vous-même, ou vous pouvez simplement surcharger la méthode paint() du JLabel (en créant votre propre JLabel personnalisé.)

L'étape suivante consiste alors à obtenir la source du interface utilisateur que vous souhaitez copier, et de prendre la fonction de la peinture à partir de cette interface utilisateur et le copier dans votre méthode de peinture surchargée (ou l'interface utilisateur classe déléguée)

+0

La première étape est facile, mais comment faire la deuxième étape? –

+0

Voici un exemple de BasicLabelUI http://kickjava.com/src/javax/swing/plaf/basic/BasicLabelUI.java.htm. Le MetalLabelUI étend simplement ceci et remplace la méthode paintDisabledText http://kickjava.com/src/javax/swing/plaf/metal/MetalLabelUI.java.htm. – Codemwnci

+0

Merci. Mais c'est la première étape, comment dessiner un JLabel. Mais je veux savoir comment obtenir l'arrière-plan de l'onglet (c'est-à-dire la source) –

0

Peut-être que la logique d'une autre solution est plus facile;.

mis JLabel dans un JPanel: définir l'arrière-plan de JPanel comme vous le souhaitez (image, dessin avec des graphiques, etc.) et setText pour JLabel Créer un widget avec eux et l'utiliser;)

Note: Je pense que la méthode de @Codemwnci est plus acceptable;)