PDA

Visualizza la versione completa : [JAVA] Cambiare il colore del bordo di un JTextField


abcd1000
28-02-2006, 10:55
Volevo cambiare il colore di default del bordo di un componente jtextfield

Per cambiare il colore di background utilizzo questo metodo

UIManager.put("TextField.background", Color.black);

Pero' non funziona per il bordo, avevo provato cosi'

UIManager.put("TextField.border", Color.yellow);

Sapete come fare?

Matteo982
28-02-2006, 11:45
Hai provato a vedere magari con qualche metodo della classe BorderFactory? :master:

Ciao. :ciauz:

anatroccolo
28-02-2006, 12:31
prova



JTextField.setBorder(new LineBorder(Color.BLUE, 2, true))

abcd1000
28-02-2006, 12:41
non voglio impostare un bordo voglio cambiare il colore che di default viene assegnato al contorno di un componente jtextfield

Matteo982
28-02-2006, 13:15
Prova a ridefinire magari il metodo paintComponet() della classe JTextFieled...ti conviene fare una ricerca nel forum su questo argomento, potrebbe fare al caso tuo.

Ciao. :ciauz:

abcd1000
01-03-2006, 10:39
non mi sembra il caso di dover ridefinire il metodo paint per cambiare un colore

LeleFT
01-03-2006, 10:42
Credo che non si possa fare così semplicemente.
Mentre background è una proprietà che si riferisce ad un oggetto di tipo Color, border (se esiste) è una proprietà che si riferisce ad un oggetto di tipo Border, il quale non è un colore, ma un'interfaccia.

Quindi, ridefinendo il valore della proprietà background, vai sostanzialmente a dire a Java di costruire degli oggetti Color con quelle caratteristiche, ma ridefinendo la variabile border (sempre se esiste), dovresti andare a dire a Java molte più cose: costruisci un bordo con queste caratteristiche, fra cui il colore, che lo voglio così e così.


Ciao. :ciauz:

abcd1000
01-03-2006, 10:52
LeleFT allora perche' si puo' utilizzare questo codice
UIManager.put("Button.border", Color.black);
ma non lo si puo' usare per i componenti textfield

LeleFT
01-03-2006, 10:56
Evidentemente è stata prevista una proprietà chiamata border (una proprietà altro non è che una stringa che fa da chiave in una HashTable) per la classe Button che identifica il colore del bordo del pulsante.
Questo non significa che una tale proprietà sia stata definita anche per la classe JTextField.


Ciao. :ciauz:

Loading