PDA

Visualizza la versione completa : [Java] Visualizzazione di un'immagine


pgm
03-06-2002, 10:29
Ciao a tutti e buon lunedì!
Ho un problema con la visualizzazione di un'immagine in Java.
Ho fatto così:

Icon logo = new ImageIcon("logo.jpg");

logo.setBounds(300,30,300,200);
Panel.add(logo);

Mi da questi errori:

gestionale5.java:191: cannot resolve symbol
symbol : method setBounds (int,int,int,int)
location: interface javax.swing.Icon
logo.setBounds(300,30,300,262);
^
gestionale5.java:192: cannot resolve symbol
symbol : method add (javax.swing.Icon)
location: class javax.swing.JPanel
Tabella1.add(logo);
^
2 errors

Perchè? Per un'immagine non sono giusti questi metodi?

Pgm

floyd
03-06-2002, 11:14
icon non ha i metodi per ridimensionare l'immagine
usa Image

pgm
03-06-2002, 11:27
Ancora..

Anche facendo

Image logo = new Image("logo.jpg");

logo.setBounds(300,30,300,200);
Panel.add(logo);

mi da gli stessi errori. Ma?:confused:

pgm

floyd
03-06-2002, 11:46
non si usa così
ImageIcon icon = new ImageIcon("image.gif");
Image im = icon.getImage();
mi pare sia giusto, controlla il metodo

pgm
03-06-2002, 11:52
Nulla di buono, sempre gli stessi errori.
Bisogna usare forse Canvas?

pgm

floyd
03-06-2002, 12:00
public void Paint(Graphics g) {
ImageIcon icon = new ImageIcon("image.gif");
Image im = icon.getImage();
g.drawImage(im, 0, 0, 200, 100, this);
}
:ciauz:

pgm
03-06-2002, 12:21
Grazie Floyd. Ma scusa se insisto.
Al posto di this ho messo il panel dove vorrei si creasse l'immagine.
In compilazione mi vatutto bene ma in esecuzione non viene creata nessuna immagine.
Allora ho pensato che non avevo referenziato la procedura Paint() dove ho referenziato tutte le altre procedure per la formazione della GUI.

void addComponentsToTabs(){

setupMenuBar();
setupPanel();
setupPanel1();
setupPanel2();
Paint();

}

Sembrava troppo bello per essere vero..infatti mi da errore.
Altri suggerimenti?:nonlodire :mad: :master: :confused: :eek: :jam:

pgm

floyd
03-06-2002, 12:30
non puoi usare il Paint e aggiungere componenti con add
al massimo fai una JLabel senza testo con l'icona e la addi

pgm
03-06-2002, 12:41
Ho provato così:

In setupPanel setto tutti gli elementi della GUI, ma per comodità posto solo il codice che mi interessa

void setupPanel(){
JLabel imgLabel = new JLabel();
imgLabel.setBounds(300,200,300,262);
Tabella1.add(imgLabel);
}


void Paint(Graphics g) {
ImageIcon logo = new ImageIcon("logo.jpg");
Image im = logo.getImage();
g.drawImage(im, 300, 262, imgLabel);
}

Non viene visualizzato ancora niente. :mad:

pgm

floyd
03-06-2002, 13:47
ovvio

void setupPanel(){
JLabel imgLabel = new JLabel("logo.jpg");
imgLabel.setBounds(300,200,300,262);
Tabella1.add(imgLabel);
}

Loading