Внутреннее заполнение для JTextArea с фоновым изображением

Моя конечная цель - получить JTextArea с фоновым изображением. Я нашел в Интернете код, который показал мне, как это сделать, но теперь у меня проблема с текстом, который находится поверх изображения.

Вот что я имею в виду:

Text overlapping image

Могу ли я как-нибудь добавить своего рода отступ внутрь, чтобы текст не перекрывал края изображения?


Вот необработанное изображение пузыря комментариев.

Comment bubble


Вот код:

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Image;

import javax.swing.GrayFilter;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class myBackgroundSample {

    String file;

    public myBackgroundSample(String i) {
        file = i;
        setItUp();
    }

    public void setItUp() {
        final ImageIcon imageIcon = new ImageIcon(file);
        JTextArea textArea = new JTextArea() {
            Image image = imageIcon.getImage();

            public void paint(Graphics g) {
                setOpaque(false);
                g.drawImage(image, 0, 0, this);
                super.paint(g);
            }
        };
        JFrame frame = new JFrame("Background Example");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JScrollPane scrollPane = new JScrollPane(textArea);
        Container content = frame.getContentPane();
        content.add(scrollPane, BorderLayout.CENTER);
        frame.setSize(400, 400);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String right = "chat1.jpg";
        myBackgroundSample temp = new myBackgroundSample(right);

    }
}
6
задан animuson 4 September 2012 в 21:56
поделиться