import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;

public class TabSizeInTextAreaTest {
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new TabSizeInTextAreaTest();
            }
        });
    }

    private TabSizeInTextAreaTest() {
        JFrame frame = new JFrame("TabSizeInTextAreaTest");
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

        Container content = frame.getContentPane();
        content.setLayout(new GridLayout(2, 1, 10, 10));

        final String testText = "1\t2\t3\n12\t34\t56";

        JPanel panel1 = new JPanel(new BorderLayout(10, 10));
        panel1.add(new JLabel("JTextArea with line-wrapping DISABLED"),
                BorderLayout.NORTH);
        JTextArea textAreaWrappingOff = new JTextArea(testText, 5, 40);
        panel1.add(textAreaWrappingOff, BorderLayout.CENTER);
        content.add(panel1);

        JPanel panel2 = new JPanel(new BorderLayout(10, 10));
        panel2.add(new JLabel("JTextArea with line-wrapping ENABLED"),
                BorderLayout.NORTH);
        JTextArea textAreaWrappingOn = new JTextArea(testText, 5, 40);
        textAreaWrappingOn.setLineWrap(true);
        panel2.add(textAreaWrappingOn, BorderLayout.CENTER);
        content.add(panel2);

        frame.pack();
        frame.setVisible(true);
    }
}
