Hintergrundbild in JTextPane fixieren

thomas235

Mitglied
Hallo zusammen,

ich hab folgendes Problem:
ich habe eine JTextPane in der ggf. viel Text steht und in der vertikal gescrollt wird.
Das TextPane soll ein Hintergrundbild haben, das zentriert wird.
Die TextPane befindet sich in einem JScrollPane.
Beim Scrollen soll das Hintergrundbild jetzt genau an der gleichen Potition bleiben und sich nicht relativ zum Text bewegen.

Hat jemand dazu eine Idee?

Bisher sieht das so aus:
Java:
@Override
    protected void paintComponent(Graphics g) {
        
        g.setColor(Color.black);
        g.fillRect(0, 0, getWidth(), getHeight());


        try {
            img = ImageIO.read(new File("test.jpg"));
            int x = (this.getWidth() - img.getWidth(null)) / 2;
            int y = (this.getHeight() - img.getHeight(null)) / 2;
            g.drawImage(img, x, y, this);
        } catch (IOException e) {
        }


        super.paintComponent(g);
    }

gruß thomas235
 
Das Bild in der paintComponent jedesmal neu zu laden ist keine gute Idee. Besser das Bilder ausserhalb einmalig laden und in der paintComponent nur zeichnen.

Um ein Bild an konstanter Position im Hintergrund darzustellen:
1. JPanel nehmen und das Bild in dessen paintComponent zeichnen
2. Die JScrollPane mit dem JTextPane in dieses JPanel setzen.
3. Den Hintergrund von JTextPane, JScrollPane und des JViewports der JScrollPane transparent setzen.
 

Zurück
Oben