Désactiver JButton l'accent frontière
J'ai un problème avec JButton en Java. Fondamentalement, je veux désactiver la bordure du bouton (le bouton est ajouté à JDesktopPane ).
Voici mon code :
JButton j = new JButton("BUTTON");
j.setIcon(icon1); //icon1 : icon//
j.setFocusable(true);
j.setContentAreaFilled(false);
j.setBounds(90, 20, 130, 30);
dtp.add(j); //dtp : JDesktopPane//
Il pourrait laisser la frontière disparaissent comme dans cette image:
Mais quand ma souris est cliqué (pas déplacés) dans le bouton, il y a un "point" de la frontière autour du bouton, comme ceci:
Donc, comment pourrais-je régler le bouton de sorte que lorsque je ne bouge pas la souris autour de la zone du bouton, c'est toujours comme la première image, mais quand je bouge la souris, il y a un carré autour du bouton (avec un fond bleu clair)?
- "laissez la frontière a disparu comme cette image" Qui a l'air très intuitif. Que faites-vous pour confondre & confondre les pauvres de l'utilisateur final?
- Alors, quels sont les mots do u pense que le mieux dans ce cas? Btw, l'anglais n'est pas ma première langue.
- Je faisais allusion à la sans frontières bouton comme étant "non-intuitive", et non pas ce que vous avez écrit. Ce que vous avez écrit est très clair. Désolé pour la confusion.
Vous devez vous connecter pour publier un commentaire.
Qui n'est pas de la frontière. C'est l'accent. Vous pouvez le supprimer à l'aide de:
Cela peut être vieux thread, mais j'ai résolu le mien avec
button.setFocusable(false)
espère que cela aide pour ceux dont le toujours à la recherche d'une réponse.
des acclamations.
En creusant, j'ai trouver une meilleure solution. C'est également une INTERFACE utilisateur commune bug dans les applications GTK sous Windows, l'un d'eux étant GIMP. Il a grandement m'agace donc je voulais trouver un meilleur correctif correctif global, plutôt qu'à chaque contrôle manuellement.
La solution de contournement définit la couleur de l'accent mis sur tous les contrôles communs qu'il n'est pas censé se produire à la transparence. Je suis allé et largement testé avec Windows Forms dans Visual Studio. Boutons de barre d'outils et les contrôles togglebutton ne devrait jamais avoir une bordure pointillée même lorsque concentré. Les barres d'outils sont censés être setFocusable(false); par défaut car ils sont dans Windows. Tous les autres devraient avoir la bordure en pointillé comme dans Swing, mais seulement si l'accent vélo.
Je ne pense pas le faire avec l'habitude
JButton
est une bonne idée. Si rien, il ne sera pas la même dans les différentes plates-formes ( Mac & Linux) dans le cas où vous plan pour afficher ce bouton dans différentes plates-formes.À toutes fins pratiques
button.setFocusPainted(false);
devez prendre soin de votre exigence actuelle.Envisager d'utiliser une longue
JLabel
avec le bouton en forme de comportement(avec l'action des auditeurs) pour éviter des différences de comportement.voir si cela peut vous aider Supprimer la frontière
ou peut-être que ce