Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - Caricare l'immagine.
Forum - Java - Caricare l'immagine.

Avatar
Matt (Member)
Pro


Messaggi: 131
Iscritto: 22/08/2006

Segnala al moderatore
Postato alle 17:52
Martedė, 14/11/2006
Salve a tutti...sto partecipando ad un progetto scolastico e voglio fare un quiz in java e non riesco a caricare l'immagine.
Ho fatto una classe apposta per caricarla:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

/**
*
* @author Black Shadow
* @author Matt
*/
public class background extends Canvas {
    Image bg;
    
    /** Creates a new instance of background */
    public background() {
        bg = java.awt.Toolkit.getDefaultToolkit().getImage("..\\images\\ciambelle.jpg");
        setBackground(Color.RED);
        setVisible(true);
        repaint();
    }
    
    public void paint(Graphics g) {
        g.drawImage(bg, 10, 10, this);
    }
    
}

e nella classe principale ho messo:

background backg = new background();
        Graphics g = this.getGraphics();
        add(backg);

purtroppo questa immagine non si vede...qualcuno sa dirmi cosa devo fare????

anticipatamente grazie

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 2:26
Mercoledė, 15/11/2006
Provato a fare il refresh del canvas su cui disegni l'immagine?


Il mio blog: https://piero.dev
PM Quote
Avatar
posta10100 (Normal User)
Rookie


Messaggi: 27
Iscritto: 23/10/2006

Segnala al moderatore
Postato alle 22:09
Mercoledė, 15/11/2006
Piero ha ragione, ricorda che java disegna "nel tempo libero"...

PM Quote
Avatar
Matt (Member)
Pro


Messaggi: 131
Iscritto: 22/08/2006

Segnala al moderatore
Postato alle 15:45
Giovedė, 16/11/2006
Per refresh intendi repaint?????

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 18:45
Giovedė, 16/11/2006
Cosė a me funziona:

Codice sorgente - presumibilmente Java

  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import javax.swing.*;
  4.  
  5. /**
  6. *
  7. * @author Black Shadow
  8. * @author Matt
  9. */
  10. class Background extends Canvas {
  11. private Image bg;
  12.  
  13. /** Creates a new instance of background */
  14. public Background() {
  15. bg = java.awt.Toolkit.getDefaultToolkit().getImage("Casa_Da_Satellite.jpg");
  16. setBackground(Color.RED);
  17. setVisible(true);
  18. repaint();
  19. }
  20.  
  21. public void paint(Graphics g) {
  22. g.drawImage(bg, 10, 10, this);
  23. }
  24.  
  25. }
  26.  
  27. public class test extends JFrame {
  28. test() {
  29. Background bg = new Background();
  30. this.add(bg);
  31. setSize(700, 650);
  32. setVisible(true);
  33. }
  34.  
  35. public static void main(String args[]) {
  36. new test();
  37. }
  38. }



poi non so voi come avete sistemato la classe principale.

ah ovviamente mi funziona anche se metto il path stile il vostro:

bg = java.awt.Toolkit.getDefaultToolkit().getImage("../Immagini/Google_Earth/Casa_Da_Satellite.jpg");

io stando su linux ho messo / che quindi non mi obbliga a mettere l'escape, ma con Java potete tranquillamente usare / su tutti i sistemi che dopo la JVM li sistema. Se vedi lo sfondo rosso ma non l'immagine una delle cause potrebbe essere proprio che non la trova.

Ultima modifica effettuata da netarrow il 16/11/2006 alle 18:52
PM Quote
Avatar
Matt (Member)
Pro


Messaggi: 131
Iscritto: 22/08/2006

Segnala al moderatore
Postato alle 16:28
Sabato, 18/11/2006
Grazie a tutti!:k:

PM Quote
Avatar
Black Shadow (Founder Member)
Expert


Messaggi: 323
Iscritto: 30/03/2006

Segnala al moderatore
Postato alle 15:03
Martedė, 21/11/2006
Adesso si presenta un altro problema, quando clicco sul menų mi esce come se fosse "coperto" dall'immagine.:-|

PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 16:02
Martedė, 21/11/2006
Ho provato questo e sembra funzionare:

Codice sorgente - presumibilmente Java

  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import javax.swing.*;
  4.  
  5. /**
  6. *
  7. * @author Black Shadow
  8. * @author Matt
  9. */
  10. class Background extends JPanel {
  11. private Image bg;
  12.  
  13. /** Creates a new instance of background */
  14. public Background() {
  15. super();
  16. bg = java.awt.Toolkit.getDefaultToolkit().getImage("Dragon XP.jpg");
  17. setBackground(Color.RED);
  18. setVisible(true);
  19. repaint();
  20. }
  21.  
  22. public void paintComponent(Graphics g) {
  23. super.paintComponent(g);
  24. g.drawImage(bg, 10, 10, this);
  25. }
  26.  
  27. }
  28.  
  29. public class test extends JFrame {
  30. private JMenuBar bar;
  31. private JMenu menu;
  32. private JMenuItem item;
  33.  
  34. test() {
  35. bar = new JMenuBar();
  36. menu = new JMenu("Prova");
  37. item = new JMenuItem("test");
  38. menu.add(item);
  39. bar.add(menu);
  40. setJMenuBar(bar);
  41. Background bg = new Background();
  42. this.add(bg);
  43. setSize(700, 650);
  44. setVisible(true);
  45. }
  46.  
  47. public static void main(String args[]) {
  48. new test();
  49. }
  50. }



ciao

PM Quote
Avatar
Matt (Member)
Pro


Messaggi: 131
Iscritto: 22/08/2006

Segnala al moderatore
Postato alle 15:45
Domenica, 26/11/2006
Grazie mille!:k:

PM Quote