Как вывести текст в JTextArea (swing)?

267
11 мая 2018, 15:35

Есть массив объектов и элемент текстового поля класса JTextArea. Необходимо вывести в этот элемент несколько длинных предложений, состоящих из моих комментариев и строчек Swing (так, чтобы при отображении элемента в поле уже был текст). Желательно, чтобы каждое предложение отображалось с новой строчки.

Пробовал циклом через setText(), но он тогда отображаются только последняя выведенная строка. Пробовал засунуть все предложения в ArrayList, а потом привести к String, но тогда в результате элементы массива отображаются с запятыми и квадратными скобками. Просто засунуть все предложения в одну строку тоже не выходит - превышение размера строки. Как быть?

Answer 1

Не до конца понятно что именно у Вас не получается, вот пример того, что (возможно) Вам нужно, если что уточните что не так:

    import javax.swing.*;
    import java.util.Arrays;
    import java.util.List;
    public class TextTest {
        public static void main(String[] args) {
            List<String> list = Arrays.asList("Мама мыла раму.", "Долго и скучала.", "Вечер уж настал");
            SwingUtilities.invokeLater(() ->
            {
                StringBuilder stringBuilder = new StringBuilder();
                for (String s : list) {
                    stringBuilder.append(s).append("\n");
                }
                JTextArea textArea = new JTextArea(stringBuilder.toString());
                JFrame frame = new JFrame("_________");
                frame.add(new JScrollPane(textArea));
                frame.setSize(1000, 600);
                frame.setLocationRelativeTo(null);
                frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
                frame.setVisible(true);
            });
        }
    }

Весь смысл в том, чтоб текст подготовить заранее.

Answer 2

Можно использовать метод append

textArea.append("Любой текст");

Тогда строка будет добавляться к уже существующему тексту в JTextArea.

READ ALSO
camel noErrorHandle

camel noErrorHandle

Разбираюсь с apache camel и в частности с ErrorHandler

366
парсинг JSON сайта на java

парсинг JSON сайта на java

Необходимо получить джсон, который находится по ссылке https://swapgg/api/inventory/bot

196
Вопрос про front-end. [Java] [требует правки]

Вопрос про front-end. [Java] [требует правки]

Если Java используется в основном для back-end, то что использовать для front-end?

224