Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1

    [JAVA] Immagine come sfondo

    Ciao, scusate la domanda scema, ma come posso mettere un'immagine come sfondo ad esempio a un internalframe o anke a un frame normale???
    , grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,798
    ridefinisci il metodo paintComponent(Graphics) del componente,
    inserendo all'interno le operazioni da eseguire, tra cui
    quella per disegnare l'immagine (Graphics.drawImage).
    Slack? Smack!

  3. #3
    si, ho provato! nn mi da errore nella compilazione ma nn la visualizza! non ci sarebbe un modo di settarla propio come background???
    ho provato a metterla come JLabel ma dopo mi copre tutti gli altri componenti!!! come posso fare???
    ciao e grazie!

  4. #4
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    Credo che l'unico modo per metterci un'immagine e poi piazzarci i componenti sopra sia quello indicato da Sergio: devi riscrivere il metodo paintComponent()...magari posta il codice....
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  5. #5
    ma basta ridefinirlo????

    Oppure bisogna chiamarloo?? ma come???

    Cercando in rete su tutti i codici che ho visto il metodo viene sempre ridefininito ma mai chiamato...

    Mi postate un esempiop funzionanet completo??

    grazie

  6. #6
    ecco questo è il codice completo della classe:
    codice:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.applet.*;
    
    class dati extends JInternalFrame implements ActionListener{
    private JTextField nome,cognome,eta,ind;
    static int openFrameCount = 0;
    static final int xOffset = 30, yOffset = 30;
    int ab=0,fig=0;
    JLabel indirizzo,name,cogname,age,figo,cassa,sfondoF;
    JButton salva=new JButton("Salva impostazioni");
    Image sfondo = Toolkit.getDefaultToolkit().createImage("immagini/sfondi/dati.gif");
    dati (String title){
    super ("I tuoi dati"+(++openFrameCount),true,true,true,true);
    init();
    }
    
    public void init(){
    setTitle("I tuoi dati");
    setSize(600,250);
    setLocation(100,350);
    getContentPane().setLayout(null);
    salva.addActionListener(this);
    getContentPane().add(salva);
    salva.setBounds(85,180,200,15);
    salva.setBorder(null);
    //JLabel
    indirizzo=new JLabel("Indirizzo");
    name=new JLabel("Nome");
    cogname=new JLabel("Cognome");
    cassa=new JLabel("Cassa: "+moto.soldi);
    figo=new JLabel("Figosità");
    age=new JLabel("Età");
    getContentPane().add(name);
    getContentPane().add(cogname);
    getContentPane().add(indirizzo);
    getContentPane().add(age);
    getContentPane().add(cassa);
    getContentPane().add(figo);
    name.setBounds(10,20,70,10);
    cogname.setBounds(10,60,70,10);
    indirizzo.setBounds(10,100,70,10);
    age.setBounds(10,140,70,10);
    cassa.setBounds(400,100,100,10);
    //textField
    nome=new JTextField(15);
    cognome=new JTextField(15);
    eta=new JTextField(2);
    ind=new JTextField(30);
    getContentPane().add(ind);
    getContentPane().add(nome);
    getContentPane().add(cognome);
    getContentPane().add(eta);
    ind.setBounds(85,140,175,20);
    nome.setBounds(85,20,100,20);
    cognome.setBounds(85,60,100,20);
    eta.setBounds(85,100,25,20);
    nome.setText(moto.a);
    cognome.setText(moto.b);
    eta.setText(moto.c);
    ind.setText(moto.d);
    repaint();
    }
    
    public void paintComponent(Graphics g){
    g.drawImage(sfondo,0,0,this);
    }
    public void actionPerformed(ActionEvent ae){
    if (ae.getSource()==salva){moto.a=nome.getText();
      moto.b=cognome.getText();moto.c=eta.getText();moto.d=ind.getText();    init();};
    repaint();
    }
    }
    Se azikè usare piantConponent uso paint mi si vusualizza l'immagine ma ovviamente nn i conponenti!

  7. #7
    UP!
    vi prego rispondete!!

  8. #8
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    Credo tu debba riscrivere il metodo pait e poi all'interno di questo richiamare i paintComponent() dei componenti e passargli l'oggetto Graphics che hai modificato...prova così...
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  9. #9
    No, nn ci riesco! va be nn metterò un sfondo.....

    Se qualcuno conosce il modo lo prego di indicarmelo!!!
    ciao e grazie a tutti!

  10. #10
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,301
    Prova così: togli il tuo metodo paintComponent e metti questo...
    codice:
    public void paint(Graphics g){
       g.drawImage(sfondo,0,0,this);
    }
    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

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.