JTextArea在创建文本区域时仅包装一次

时间:2013-09-27 12:50:22

标签: java swing jtextarea word-wrap

我有JTextArea

text.setLineWrap(true);
text.setWrapStyleWord(true);

现在我遇到了问题,如果我开始包含其中一些GUI的{​​{1}},则文本会正确地包装成3-4行。现在,我将JTextArea的大小调整为严格,文本正确扩展,并且只包含1-2行。现在我开始将GUI调整回左侧,但GUI不会回到旧状态。他们只是保持1-2行。

1 个答案:

答案 0 :(得分:1)

您使用的是哪种布局?你需要使用一个适合窗口大小的那个。

public static void main(String[] args) {
    StringBuilder sb = new StringBuilder();
    Locale[] locales = Locale.getAvailableLocales();
    for (int i = 0; i < locales.length; i++) {
        sb.append(locales[i].getDisplayCountry()).append(' ');
    }

    JTextArea textArea = new JTextArea(sb.toString());
    textArea.setLineWrap(true);
    textArea.setWrapStyleWord(true);

    JScrollPane scrollPane = new JScrollPane();
    scrollPane.setViewportView(textArea);

    JFrame frame = new JFrame("All installed locales");
    frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    frame.add(scrollPane);
    frame.pack();
    frame.setVisible(true);
}