2010-02-18 2 views

risposta

12

Si potrebbe anche provare a utilizzare un EmptyBorder per inserire spazi tra i due componenti. Se hai già un bordo, puoi usarlo insieme a un EmptyBorder per creare un CompoundBorder. Nel frammento di codice sottostante, viene creato un nuovo CompoundBorder con un TitledBorder e un EmptyBorder che applica una spaziatura di 1 pixel attorno al componente.

testPanel.setBorder(
    javax.swing.BorderFactory.createCompoundBorder(
     javax.swing.BorderFactory.createTitledBorder(
     null, "Border Title", 
     javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, 
     javax.swing.border.TitledBorder.DEFAULT_POSITION, 
     new java.awt.Font("Verdana", 1, 11) 
    ), 
     javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1) 
    ) 
); 
10

Hai provato il metodo setMargin?

0

Il modo più semplice per raggiungere questo obiettivo è:

yourVariableName.setMargin(new Insets(2,2,2,2)); 

Le cifre rappresentano (in alto, a sinistra, in basso, a destra). Funziona sia per JTextField che per JTextArea