2010-11-11 5 views
1

J'ai une question simple à propos de l'utilisation de JLabels vs la méthode paintComponents() .drawString(). Y a-t-il un quelconque avantage à utiliser l'un plutôt que l'autre, en supposant que je n'ai jamais besoin d'utiliser n'importe quel type de .getText() ou de modificateurs.JLabel vs drawString pour l'efficacité

Il semble malpropre d'écrire un tas de JLabels, et je n'aime pas particulièrement l'idée d'un JTextAreas. Cependant, j'ai envie d'utiliser paintComponent pour d'autres choses que les formes, les couleurs et les images, ce n'est peut-être pas la meilleure idée.

Répondre

1

Il est difficile de répondre à votre question car nous ne connaissons pas l'exigence exacte.

Ne vous inquiétez pas de l'efficacité, sauf si vous avez testé l'application et vous avez identifié un goulot d'étranglement et avez isolé le problème.

En général, ne pas réinventer la roue. Il n'est pas nécessaire d'écrire du code personnalisé sauf si vous créez un composant personnalisé.

Si vous avez besoin d'afficher du texte, utilisez un JLabel, JTextArea ou autre. Rappelez-vous qu'un JTextArea peut être fait pour ressembler à un JLabel en jouant avec l'arrière-plan et la police etc.