Come posso aggiungere un po 'di padding a un jtextfield? Ho provato tf.setMargin(new Insets(5,5,5,5));
che non ha alcun effetto.Come aggiungere padding a un jtextfield
15
A
risposta
28
Il problema che si sta avendo è che l'interfaccia utente è la creazione di una propria frontiera sul campo di testo, ignorando il margine impostato. È possibile visualizzare un avviso a questo effetto nella javadoc di setMargin()
.
La soluzione è quella di lasciare l'interfaccia utente ha stabilito un confine, poi spremere in un altro bordo della propria:
field.setBorder(BorderFactory.createCompoundBorder(
field.getBorder(),
BorderFactory.createEmptyBorder(5, 5, 5, 5)));
3
voi hanno un'occhiata a CompoundBorder, non è possibile impostare LineBorder(Color.gray, 1)
e con
EmptyBorder(5, 5, 5, 5)
1
Il modo più semplice sta usando BorderFactory
field.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));