setBorder su JTextField non funziona? o lo fa?
-
21-09-2019 - |
Domanda
Il codice è simile a questo:
JTextField txt = new JTextField();
txt.setBorder(BorderFactory.createMatteBorder(2,2,2,2,Color.red));
Tuttavia, il campo di testo sta ignorando la mia chiamata a setBorder
.
Nessuna modifica di sorta.
dovessi sostituirlo con un JLabel
(per esempio)
JLabel txt = new JLabel();
txt.setBorder(BorderFactory.createMatteBorder(2,2,2,2,Color.red));
vorrei vedere il bordo rosso.
Qualcuno può dirmi perché? O meglio ancora spiegarmi come aggiungere un bordo in JTextField
?
Soluzione
Scopri questa spiegazione / raccomandazione della API Java
In generale, quando si desidera impostare un frontiera su un componente Swing di serie diverso da JPanel o JLabel, abbiamo consiglia di inserire la componente in un JPanel e impostare il confine sul JPanel.
Quindi ... si dovrebbe nido tuo JTextField in un JPanel o JLabel, e mettere il confine sul JPanel o JLabel. Voila!
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow