setBorder on JTextField does not work ? or does it?

13,576

Check out this explanation/recommendation from the Java API

In general, when you want to set a border on a standard Swing component other than JPanel or JLabel, we recommend that you put the component in a JPanel and set the border on the JPanel.

So... you should nest your JTextField in a JPanel or JLabel, and put the border on the JPanel or JLabel. Voila!

Share:
13,576
Markus V.
Author by

Markus V.

Updated on June 22, 2022

Comments

  • Markus V.
    Markus V. almost 2 years

    The code is like this:

    JTextField txt = new JTextField();
    txt.setBorder(BorderFactory.createMatteBorder(2,2,2,2,Color.red));
    

    However the text field is ignoring my call to setBorder. No changes whatsoever.

    I were to replace it with a JLabel (for instance)

    JLabel txt = new JLabel();
    txt.setBorder(BorderFactory.createMatteBorder(2,2,2,2,Color.red));
    

    I would see the red border.

    Can anybody tell me why? Or even better explain to me how to add a border in the JTextField?