Я пытаюсь воссоздать Skype, обрабатывает мгновенные сообщения с использованием компонентов Swing. Я использую JList с пользовательским ListCellRenderer для визуализации каждой ячейки в списке. ListCellRenderer расширяет JPanel, JPanel просто содержит метку (где я поставлю имя пользователя) и JTextArea, куда будут отправляться сообщения пользователей. JTextArea - это то, с чем у меня проблемы.
Вот изображение того, что у меня есть на данный момент -
- Я удалил полосу прокрутки, которая автоматически поставляется с текстовой областью в netbeans.
- Я показываю навигатор, представление «Дизайн» и реальную программу (список состоит из двух элементов) на этом изображении.
![enter image description here](https://i.stack.imgur.com/Imxv7.png)
Текст в textarea на самом деле намного длиннее, чем на этом изображении, но это не перенос слов. Я установил для lineWrap и wrapStyleWord значение true в поле свойств этого текстового поля, но, похоже, оно не дает никакого эффекта. Затем я попытался установить максимальный размер с помощью поля свойств, и это тоже не имеет никакого эффекта.
Есть ли способ контролировать отступы / поля вокруг компонентов с помощью графического интерфейса NetBeans. Автоматическое размещение, которое оно дает мне для расстояния между компонентами, составляет либо несколько пикселей слишком маленьким, либо два больших. Мне нужно точное размещение компонентов списка в ячейке.
Для справки вот как выглядит панель для скайпа в скайпе (я добавил в красных буквах «Брайан сс» то, как я это сделаю в своей программе). Как вы можете видеть, предложения обертываются, и между ячейками имеется соответствующее пространство. Так кто-нибудь знает, как добиться этого с помощью Swing?
![enter image description here](https://i.stack.imgur.com/7lInZ.png)