Devo disegnare un'immagine di sfondo in un jpanel.
Qualcuno mi spiega perchè l'immagine non viene visualizzata.
La visualizzazione avviene solo quando faccio un resize o una riduzione a icona (lo so che viene chiamato automaticamente paintComponent).
Perche' non viene disegnata l'immagine anche all'inizio???![]()
Codice:
import javax.swing.JFrame;
public class Applicazione
{
public static void main(String args[])
{
AlberoBinario c = new AlberoBinario();
}
}
import javax.swing.*;
import java.awt.*;
public class AlberoBinario extends JFrame
{
private Image immagine;
public AlberoBinario()
{
super("Albero Binario");
setSize(442,300);
immagine = Toolkit.getDefaultToolkit().getImage(getClass().ge tResource("tree.jpg"));
Pannello pannello = new Pannello(immagine);
add(pannello);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
}
Classe Pannello
import javax.swing.*;
import java.awt.*;
public class Pannello extends JPanel
{
private Image immagine;
public Pannello(Image i)
{
immagine =i;
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
System.out.print("Ciao");
if(immagine != null)
g.drawImage(immagine,0,0,null);

Rispondi quotando