Avatar billede lau_r Nybegynder
15. september 2001 - 18:46 Der er 3 kommentarer og
1 løsning

Baggrundsbillede

Hvordan indsætter man et baggrundsbillede i en container?
Avatar billede logical Nybegynder
17. september 2001 - 09:13 #1
Der er ikke nogen standard metoder til det. Du bliver nødt til (via arv) at lave den containertype, som du skal bruge.

Et eksempel er:
public class Baggrund extends JPanel{

    ImageIcon img;
    /** Creates new Baggrund */
    public Baggrund(ImageIcon ic) {
        super();
        setOpaque(false);
        img = ic;
    }
   
    public void paint(Graphics g) {
        if (img.getImageLoadStatus() == MediaTracker.COMPLETE)
            g.drawImage(img.getImage(), img.getIconWidth(), img.getIconHeight(), img.getImageObserver());
        super.paint(g);
    }
}

du kan selvfølgelig skrive det om, så den bedre ligner en JPanel component og mere fail-safe, men dette virker som en start. Husk dog på, at din JPanel er transparent, hvilket vil sige at andre billeder nedenunder vil skinne igennem. For at undgå det hvis nødvendig, skal man bare lægge det transparente panel ind i et ikke transparent.
Avatar billede lau_r Nybegynder
17. september 2001 - 17:51 #2
Det virker ikke.
Jeg har løst problemet ved at lave en klasse der extender component og hvis paint metode tegner baggrundsbilledet.
Avatar billede logical Nybegynder
17. september 2001 - 18:39 #3
Pkt 1 det virker.

Pkt2 hvis du extender component, har du ikke en container, uden at skulle lave resten af hierarkiet også.



Avatar billede lau_r Nybegynder
05. oktober 2003 - 00:36 #4
jeg lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester