Ändern der Rahmenfarbe der AWT TextField
In AWT-Anwendung, die ich brauche, um die Rahmenfarbe des Textfeldes.
In JTextField, ich weiß, dass wir tun können, tun Sie den folgenden
JTextField tf = new JTextField();
tf.setBorder(BorderFactory.createLineBorder(Color.decode("#2C6791")));
Aber setBorder () - Methode nicht auch in awt TextField. Gibt es Abhilfe für dieses problem?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Des AWT
TextField
unterstützt keine Grenzen, Sie gefunden zu haben. Könnten Sie emulieren eine Grenze, indem Sie das text-Feld innerhalb einerPanel
das ist nur etwas größer als das Textfeld und ändern die Hintergrundfarbe des panel.paint()
, aber das sieht einfacher aus.Für die Kompatibilität mit look & feel Variationen, die
setBorder()
API empfiehlt Folgendes: "Im Allgemeinen, wenn Sie wollen, um eine Grenze gesetzt, die auf einem standard-Swing-Komponenten-anderen alsJPanel
oderJLabel
empfehlen wir, dass Sie die Komponente in einerJPanel
und legen Sie den Rand auf derJPanel
."Nachtrag: Während dieses deutet auf eine Vorgehensweise hin, es ist irrelevant, zu einer reinen AWT-Anwendung.
JComponent
.Weil die Methode ist überladen definieren Sie die Farbe, und der rest ist Standard.
Alternativ können Sie die ganze Methode und wählen Sie die Farbe, Strichbreite und Typ der Ecken, die abgerundet sind oder nicht.
Erstellen Sie eine Grenze mit der angegebenen Farbe und Breite
Legen Sie die Grenze dieser Komponente