2010-03-25 3 views
0

Cela peut être une question stupide je ne sais pas.Java focus question

Existe-t-il un moyen de supprimer le surligneur pour représenter le focus dans une interface graphique Java? Par exemple, lorsque vous cliquez sur un bouton, le texte aura un léger rectangle autour du texte.

Merci

+2

Je suis extrêmement curieux de savoir pourquoi vous voudriez cela? – Holograham

+0

Eh bien, je suis en train de faire une interface à écran tactile et avoir ce petit rectangle peut être un peu distrayant – Albinoswordfish

Répondre

2

Cette fonctionnalité est là pour une raison, car il donne aux utilisateurs des informations sur le composant qui a actuellement le focus. Mais si vous devez vraiment l'éteindre alors vous pouvez utiliser:

button.setFocusPainted(false); 
+0

les deux fonctionnent :) Choisissez le mien! – Holograham

+0

Cela répond plus correctement à ma question – Albinoswordfish

0

Pour autant que je savais que l'un des points de vente du swing lors de son apparition est que tout élément graphique peut être complètement personnalisé. Cela pourrait vous aider: Custom Swing Controls

3

Je crois que vous voulez supprimer l'attribut focusable mis de vos articles

utilisant setFocusable (false)

http://java.sun.com/docs/books/tutorial/uiswing/misc/focus.html

+1

Dépend de l'exigence réelle. Si vous définissez le bouton non focalisable, vous ne pouvez pas appuyer sur le bouton à l'aide du clavier, ce qui signifie que vous ne pouvez pas cliquer sur le bouton à l'aide du clavier. Si le bouton est dans une barre d'outils, alors peut-être que vous le rendrez non focalisable car les boutons de barre d'outils sont généralement invoqués avec la souris. Si vous utilisez d'autres boutons dans une boîte de dialogue, l'utilisateur doit avoir la possibilité de tabuler et d'utiliser le clavier. – camickr

+0

Ok, bonne explication. Bien que l'auteur de la question a déclaré dans un commentaire que c'était pour une interface à écran tactile, donc pas de clavier. – Holograham