Swing - how to mix JTextField and JTextAreas and have same visual appearance?
- by I82Much
I am using miglayout to create a form in which there are JTextFields (short input answers) as well as JTextAreas (Longer answers).  The problem is twofold.  
The border placed around a Scrollpane wrapped text area does not match that of a Text Field.  
The width and placement of the textarea/textfield differ, causing them not to line up correctly.
Source code:
package test2;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import net.miginfocom.swing.MigLayout;
public class Test extends JPanel {
private static final int NUM_CHARACTERS_WIDTH = 20;
private static final int NUM_ROWS = 5;
public Test() {
    setLayout(new MigLayout(
            "wrap 2",
            // Align text labels on the so their right edge meets left edge of the text fields
            "[right][left]"
            ));
    add(new JLabel("Text field:"));
    add(new JTextField(NUM_CHARACTERS_WIDTH));
    add(new JLabel("No scrollpane text area:"));
    add(new JTextArea(NUM_ROWS, NUM_CHARACTERS_WIDTH));
    add(new JLabel("Scrollpane text area:"));
    add(new JScrollPane(new JTextArea(NUM_ROWS, NUM_CHARACTERS_WIDTH)));
    add(new JLabel("Text field:"));
    add(new JTextField(NUM_CHARACTERS_WIDTH));
}
public static void main(String[] args) {
    JFrame frame = new JFrame("");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    JPanel panel = new Test();
    frame.add(panel);
    frame.pack();
    frame.setVisible(true);
}
}
What's the preferred way to mix and match jtextfield and jtextareas, while still maintaining visual harmony?  I notice now that the text field has a blue highlight around it when focus is in it, as opposed to the text area... another source of visual discontinuity.