Является ли это способом добавления watermark в JTextArea?Добавление водяного знака в JTextArea
ответ
Я подозреваю, что вы должны были бы подкласс JTextArea
и переопределить метод paintComponent()
, используя фоновое изображение первого и вызова super.paintComponent()
для отображения текста:
public void paintComponent (Graphics g) {
g.drawImage(watermark, 0, 0, this);
super.paintComponent(g);
}
редактировать: как указал camickr , a JTextArea
непрозрачен, поэтому ваш подкласс должен будет изменить это, позвонив по телефону setOpaque(false)
.
Я сомневаюсь, что приведенное выше предложение будет работать. JTextArea непрозрачен, поэтому текст будет рисоваться поверх изображения. Поэтому, по крайней мере, вам нужно будет сделать текстовую область непротиворечивой, и тогда вам нужно будет играть с цветами фона в области просмотра и/или scrollpane.
Если вы хотите использовать многоразовое решение, попробуйте создать ImageBorder. Порядок живописи:
а) paintComponent
б) paintBorder
с) paintChildren
Так, если добавить рамку в области текста он будет рисовать поверх текста фиксированное местоположение.
Или, если вы добавите границу в область просмотра, она будет рисоваться ниже текста, это плавающее местоположение.
вы можете просто setOpaque (false), и это решает эту небольшую проблему. – ninesided
Вы также можете рассмотреть возможность использования JXLayer, которые могут создавать довольно сложные визуальные эффекты
С помощью Java7 вы получаете доступ к [JLayer] (http://docs.oracle.com/javase/tutorial/uiswing/misc/jlayer.html), который основан на проекте, упомянутом Дмитрием. Также нарушена ссылка [link] (https://java.net/projects/jxlayer/). – predi
- 1. Добавление текстового водяного знака
- 2. Добавление водяного знака razorpdf
- 3. Добавление водяного знака в изображение в PHP
- 4. Добавление водяного знака в документ Microsoft Word
- 5. Добавление водяного знака в пустой JCombobox
- 6. Добавление водяного знака в файл excel
- 7. Добавление «водяного знака» в PDF с PDFlib
- 8. Добавление водяного знака на страницу отчета Access
- 9. Добавление изображения водяного знака к изображению
- 10. ImageMagick и добавление визуального водяного знака
- 11. Добавление водяного знака на веб-страницу - архитектура
- 12. Добавить текст водяного знака в код водяного знака
- 13. текст водяного знака css
- 14. Elasticsearch Параметры водяного знака
- 15. Повторите визуализатор водяного знака
- 16. Размещение изображения водяного знака
- 17. carrierwave водяного знака изображения
- 18. Использование водяного знака в TextBox
- 19. изображение водяного знака в CListCtrl
- 20. Изображение водяного знака в Yii2
- 21. Текст водяного знака в asp.net?
- 22. Изображение водяного знака в php
- 23. Android: добавление водяного знака в растровое изображение в задаче Async
- 24. Добавление водяного знака в видео с помощью ffmpeg в php
- 25. Добавление изображения как водяного знака в отзывчивый контент
- 26. Добавление водяного знака в png изображения с помощью php
- 27. Добавление текста в качестве водяного знака с использованием itext7 C#
- 28. phpThumb - изменить размер водяного знака
- 29. Предотвращение кадрирования фона водяного знака
- 30. XAML - уточнить код водяного знака
Вы также можете использовать альфа-канал, чтобы составить изображение с тем, что будет нарисован супер() – Dmitry
Большинство водяных знаков рисуются над содержанием. Если вы хотите это сделать, сначала вызовите super.paintComponent (g), а затем нарисуйте над ним полупрозрачный водяной знак (или текст). Вы можете выбрать прозрачное изображение или работать с альфа-композитами, чтобы получить эффект прозрачности. Также вы можете использовать плитку водяного знака, а не просто рисовать его в верхнем левом углу. Я предлагаю вам сделать многоразовый контейнер Watermark, который будет рисовать водяной знак над его содержимым, поэтому вы можете вставлять JTextArea (прокрутка водяных знаков с текстом) или JScrolledPane (водяные знаки остаются, текстовые прокрутки) –