If you really want the data to line up, why not use a "JTable"? That way you have re-sizable columns, you can control the display of different data types (
String vs. int vs. date, etc.) and it will look much better.
If you do use a JTextArea then I'd suggest two things:
1) make sure to use a fixed-size font, and
2) use spaces rather than tabs to align everything.
But the "JTable" would look much better.