Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Sfondo nel JTextArea

  1. #1

    Sfondo nel JTextArea

    Ciao ragazzi sono nuovo di questo forum...ho fatto una ricerca in questo forum ma non sono riuscito a trovare una soluzione per il mio problema...o forse non sono stato abbastanza bravo a ricercare nel forum...

    il mio problema è inserire uno sfondo nella JTextArea ma nel momento in cui lo inserisco mi ricopre la scrittura:

    so ke vi puo sembrare stupido ma cos'è ke sbaglio???

    public class JTextAreaSfondo extends JTextArea
    {
    public JTextAreaSfondo(String stringa)
    {
    super(stringa);
    }

    public void paint(Graphics g)
    {
    Graphics2D g2 = (Graphics2D) g;
    ImageIcon icon = new ImageIcon("JTextAreaSfondo.jpg");
    Image img = icon.getImage();
    g2.drawImage(img, 0, 0, getWidth(), getHeight(), null);
    }
    }

  2. #2

    Re: Sfondo nel JTextArea

    Originariamente inviato da redlyon89
    il mio problema è inserire uno sfondo nella JTextArea
    La JTextArea è anche un JComponent, quindi per cambiare il colore del suo sfondo puoi usare il metodo setBackground.

  3. #3
    si si lo so ma questo metodo cambia il colore di fondo...vi chiedo scusa forse mi sono espresso male...praticamente vorrei mettere un immagine di sfondo infatti ho fatto l'override del metodo paintComponent e me lo da ma il problema è che sparisce la scrittura...o meglio...la scrittura c'è ma viene coperta dallo sfondo...

  4. #4
    Originariamente inviato da redlyon89
    praticamente vorrei mettere un immagine di sfondo
    Prova a farlo indirettamente, cioè imposta questa immagine come sfondo di un componente e aggiungi a questo la tua istanza di JTextArea, rendendola trasparente.

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Nel caso tu voglia effettivamente usare la tecnica dell'override di paint: stai sbagliando! Per i componenti Swing devi fare l'override di paintComponent, che prende anch'esso come parametro un oggetto Graphics:

    codice:
    @Override
    public void paintComponent(Graphics g) {
       super.paintComponent( g );
       // il tuo override...
    }
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    Prova a farlo indirettamente, cioè imposta questa immagine come sfondo di un componente e aggiungi a questo la tua istanza di JTextArea, rendendola trasparente.
    si perfetto cosi va bene...però dovrei creare prima un pannello con immagine di fondo e poi aggungere il textarea io vorrei farlo direttamente nella text ....


    Nel caso tu voglia effettivamente usare la tecnica dell'override di paint: stai sbagliando! Per i componenti Swing devi fare l'override di paintComponent, che prende anch'esso come parametro un oggetto Graphics:

    codice:
    @Override
    public void paintComponent(Graphics g) {
    super.paintComponent( g );
    // il tuo override...
    }
    fatto ma è identico purtroppo l'immagine di fondo esce ma non la scrittura....ma è molto strano

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.