Почему мой JTextArea не добавляет разрывы строк из моей строки?

Я хочу, чтобы JTextArea отображал возвращаемый текст, когда пользователь нажимает кнопку, но, хотя фактическая строка содержит разрывы строк, текстовая область их не отображает? Почему?

Почему мой JTextArea не добавляет разрывы строк из моей строки?

Почему мой JTextArea не добавляет разрывы строк из моей строки?

//when user clicks this button//
txtPizzaOrder.setText(newPizza.getInfo());

public String getInfo(){
    String sizeString=String.valueOf(this.size);
    String rtnStment = "Size: "+sizeString+"\nCrust:"+this.crust+"\nSauce: "
            +this.sauce+"\nFirst topping: "+this.topping1+"\nSecond topping: "+
            this.topping2+"\nCost: "+this.getCost()+"\n------------------------";
    return rtnStment;
    }
but although the actual string contains line breaks, - откуда ты знаешь? Я нигде не вижу кода отладки. Опубликуйте правильный минимальный воспроизводимый пример, демонстрирующий проблему. То есть создайте фрейм с JTextArea и JButton. Когда вы нажимаете кнопку, вы добавляете жестко закодированную строку, содержащую разрывы строк. Сначала заставьте это работать. Мы не можем сказать, почему ваш код не работает, потому что мы не знаем значения всех ваших переменных и т. д.
camickr 07.04.2019 19:52

Кроме того, JTextArea правильно отображает разрывы строк, я делал это много раз. Так что ошибка должна быть где-то в другом месте.

markspace 07.04.2019 19:53

Я проверил ваш код локально, и он работает, разрывы строк отображаются так, как должны. Ошибка, вероятно, где-то еще, как указал @markspace. Вам нужно показать нам больше кода.

BrainDead 07.04.2019 19:57

это просто не работает. Выводит в одну строку. понятия не имею, почему

jamie 07.04.2019 20:03

(1-) no idea why - так где же твой минимальный воспроизводимый пример??? Вам сказали 3 человека, что нет никакого секрета в отображении разрывов строк в JTextArea. Код, который вы разместили, ничего не говорит нам о вашем приложении. У нас нет времени продолжать догадываться, что у вас нет времени, чтобы создать правильный "MCVE"!!!

camickr 07.04.2019 20:29

это потому, что я использовал JTextField, а не JTextArea. Спасибо за ваши усилия

jamie 08.04.2019 17:01
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
6
35
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Судя по вашей картинке, я вижу текст в середине компонента, а не сверху.

Это говорит мне о том, что вы, вероятно, используете JTextField, а не JTextArea.

Если вам нужна дополнительная помощь, опубликуйте правильный «MCVE». Вас уже просили об этом раньше.

О, это было так. Ваше здоровье.

jamie 08.04.2019 16:56

Другие вопросы по теме