Impostare un Immagine di Background in una JtextArea

di il
1 risposte

Impostare un Immagine di Background in una JtextArea

Salve a tutti ho un problema. ho creato una gui con swing. la gui è semplice, è composta da un tasto e una jtextarea che funge da console per notificare le operazioni in background che sta effettuando.

Per creare la JtextArea ho usato una classe figlia e ho fatto l'override del metodo paintComponents in modo da disegnare sopra un immagine. solo il problema è che quando vado a impostare del testo viene nascosto dall'immagine. ce un modo per impostarla realmente come background image e scrivere il testo sopra?

1 Risposte

  • Re: Impostare un Immagine di Background in una JtextArea

    Shoto ha scritto:


    Per creare la JtextArea ho usato una classe figlia e ho fatto l'override del metodo paintComponents in modo da disegnare sopra un immagine. solo il problema è che quando vado a impostare del testo viene nascosto dall'immagine. ce un modo per impostarla realmente come background image e scrivere il testo sopra?
    Innanzitutto nel paintComponent devi prima disegnare la tua immagine (o quello che vuoi) e poi solo dopo invocare la versione "super" di paintComponent. Se facessi il contrario, la tua immagine coprirebbe sempre il testo.

    Questo però da solo non basta. La versione super di paintComponent si occupa anche di disegnare tutto lo sfondo, se il componente è "opaco" (come lo è di serie). Quindi in più devi fare:

    tuaTextArea.setOpaque(false);

    (nota: questo NON nel paintComponent ma solo una-tantum quando crei la GUI, ovviamente)

    A questo punto JTextArea non disegna più lo sfondo ed è compito tuo farlo prima che esso disegni il testo.
Devi accedere o registrarti per scrivere nel forum
1 risposte