Visualizzazione dei risultati da 1 a 7 su 7

Discussione: JFrame e sfondo

  1. #1
    Utente di HTML.it L'avatar di dexxa
    Registrato dal
    Oct 2007
    Messaggi
    24

    JFrame e sfondo

    ciao ragazzi, mi serve il vostro aiuto. In pratica io ho un JFrame nel quale voglio impostare come sfondo un'immagine GIF. Tale operazione la faccio utilizzando i seguenti metodi:
    .
    .
    ImageIcon immagine=new ImageIcon(path immagine);
    JLabel sfondo=new JLabel(immagine);
    this.add(sfondo);
    .
    .

    A questo punto lo sfondo viene visualizzato correttamente.
    Ma nel momento in cui carico un JInternalFrame con varie JTextField, ricompare lo sfondo coprendomi le JTextField suddette.
    C'e un modo per impostare lo sfondo sempre in secondo piano? O esistono altre soluzioni.
    Grazie dell'aiuto.!!

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: JFrame e sfondo

    Originariamente inviato da dexxa
    ciao ragazzi, mi serve il vostro aiuto. In pratica io ho un JFrame nel quale voglio impostare come sfondo un'immagine GIF. Tale operazione la faccio utilizzando i seguenti metodi:
    .
    .
    ImageIcon immagine=new ImageIcon(path immagine);
    JLabel sfondo=new JLabel(immagine);
    this.add(sfondo);
    .
    .

    A questo punto lo sfondo viene visualizzato correttamente.
    In realtà non hai impostato alcun sfondo. Hai semplicemente creato un componente (JLabel) che visualizza una immagine.

    Originariamente inviato da dexxa
    C'e un modo per impostare lo sfondo sempre in secondo piano?
    Definisci una classe che estende JFrame e fai l'override del metodo paintComponent() in cui disegnerai la immagine usando l'oggetto Graphics passato al metodo.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di dexxa
    Registrato dal
    Oct 2007
    Messaggi
    24
    ehmm...grazie....ma...
    puoi farmi un esempio...magari un esempio in cui lo sfondo sia una gif o una jpg...grazie ancora..spero di non romperti...

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Prima per un attimo mi sono sbagliato: paintComponent() non centra con JFrame ma solo con JComponent e derivati. Comunque basta estendere JPanel e usare quello come sfondo del JFrame (e i componenti andranno messi dentro il panel).

    Una cosa del tipo (molto abbozzata, eh!):

    codice:
    import java.awt.*;
    import java.io.*;
    import java.net.*;
    import javax.swing.*;
    import javax.imageio.*;
    
    public class TestFrame extends JFrame
    {
        public TestFrame ()
        {
            super ("Prova");
    
            Image backImg = null;
    
            try {
                backImg = ImageIO.read (new URL ("http://www.google.com/intl/en_ALL/images/logo.gif"));
            } catch (IOException e) { }
    
            setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
            setSize (300, 300);
            
            BackPanel panel = new BackPanel (backImg);
            add (panel);
            
            panel.add (new JLabel ("Esempio"));
        }
    
        public static void main (String[] args)
        {
            SwingUtilities.invokeLater (new Runnable ()
            {
                public void run ()
                {
                    TestFrame f = new TestFrame ();
                    f.setVisible (true);
                }
            });
        }
    }
    
    
    class BackPanel extends JPanel
    {
        private Image backImg;
    
        public BackPanel (Image backImg)
        {
            this.backImg = backImg;
        }
    
        public void paintComponent (Graphics g)
        {
            super.paintComponent (g);
            g.drawImage (backImg, 0, 0, this);
        }
    }
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it L'avatar di dexxa
    Registrato dal
    Oct 2007
    Messaggi
    24
    okkkkkkkkkkk capito...grazie..sei stao gentilissimo

  6. #6
    Utente di HTML.it L'avatar di dexxa
    Registrato dal
    Oct 2007
    Messaggi
    24
    scusa un problema...io il file immagine c'e l'ho o una cartella....supponiamo sul desktop...e non funziona....come faccio a caricarlo?

  7. #7
    Utente di HTML.it L'avatar di dexxa
    Registrato dal
    Oct 2007
    Messaggi
    24
    ah ho risolto...ho fatto new File...invece di new URL.....però stesso problema...
    quando apro un JInternalFrame.....lo sfondo del JFrame sovrappone il JInternalFrame..
    .mi sa ke nn c'e soluzione...è proprio cosi

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.