Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Sfondo JFrame

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2017
    Messaggi
    2

    Sfondo JFrame

    Salve,ho gi� letto molti argomenti simili e ho provato ad usare i suggerimenti che sono stati dati agli altri utenti,ma non sono riuscito comunque a risolvere il mio problema.In pratica voglio inserire in un JFrame un JLabel contenente un'immagine,ma questa non viene visualizzata.Avevo provato anche a inserire il JLabel in JPanel ma niente.
    ecco il codice,come potrei fare?


    codice:
    public class gioco {    private JFrame finestra;
       
        private JLabel sfondo;
        
        
        
        
        
        public gioco(){
            inizio();
        }
        
        
        private void inizio(){
            finestra=new JFrame ("gioco");
            finestra.setLayout(null);
            finestra.setSize(1080,720);
            finestra.setDefaultCloseOperation(EXIT_ON_CLOSE);
            finestra.setLocation(0,0);
            finestra.setResizable(false);
            finestra.setVisible(true);
            
            ImageIcon immagine=new ImageIcon("prato.jpg");
     sfondo=new JLabel(immagine);
     sfondo.setSize(1080,720);
     sfondo.setLocation(0,0);
    finestra.add(sfondo);
    
    
        }

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    361
    Quote Originariamente inviata da leo9999 Visualizza il messaggio
    In pratica voglio inserire in un JFrame un JLabel contenente un'immagine,ma questa non viene visualizzata.Avevo provato anche a inserire il JLabel in JPanel ma niente.
    Non aggiungere componenti al frame dopo averlo reso visibile, setVisible (true) è l'ultima istruzione da richiamare nella creazione di un frame.
    Se vuoi aggiungere/modificare componenti in seguito ci sono delle logiche di rivalidazione, ridisegnamento etc. da tenere in considerazione.

    Altra cosa da evitare sarebbe l'utilizzo di un layout settato a null e la pratica di fissare manualmente le dimensioni dei componenti con setSize ().
    Sono procedure che ti limitano molto nello sviluppo, è meglio utilizzare i LayoutManager (ce ne sono diversi molto semplici da utilizzare).

    Un ultimo consiglio: se la JLabel contenente l'immagine dovrebbe fungere da "sfondo" nel tuo frame, poi saresti forzato ad aggiungere eventuali altri componenti all'interno della JLabel, cosa tecnicamente possibile ma sconsigliabile.

    Se vuoi avere un'immagine di sfondo ti consiglio di impostarla come background di un JPanel, che poi puoi impostare come content pane (vedi metodo setContentPane in JFrame).
    Tutti i componenti successivi potrai poi aggiungerli al JPanel.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.