Modification de la Couleur de la Bordure de l'AWT TextField
Dans AWT application, j'ai besoin de définir la couleur de la bordure de Champ.
Dans le component swing jtextfield, je sais que nous ne pouvez faire ce qui suit
JTextField tf = new JTextField();
tf.setBorder(BorderFactory.createLineBorder(Color.decode("#2C6791")));
Mais setBorder() la méthode n'est pas disponible dans awt TextField. Est-il une solution de contournement pour ce problème?
OriginalL'auteur tiger | 2011-09-28
Vous devez vous connecter pour publier un commentaire.
L'AWT
TextField
ne prend pas en charge les frontières, comme vous l'avez trouvé. Vous pourrait émuler une frontière en mettant le champ de texte à l'intérieur d'unPanel
qui est légèrement plus large que le champ de texte et de changer la couleur de fond du panneau.+1 j'allais suggérer primordial
paint()
, mais ça a l'air plus facile.OriginalL'auteur Barend
Pour la compatibilité avec les look & feel variations, la
setBorder()
API recommande ce qui suit: "En général, lorsque vous voulez mettre une bordure sur un composant Swing autre queJPanel
ouJLabel
, nous vous recommandons de placer le composant dans uneJPanel
et de la frontière sur leJPanel
."Addendum: Tout ceci suggère une approche, il n'est pas pertinent pour un pur AWT application.
JComponent
.Ah, j'ai mal lu; votre approche analogue semble viable.
OriginalL'auteur trashgod
OriginalL'auteur ja_mes