Ho una JApplet che contiene un JPanel, che a sua volta ospita diversi componenti e altri due JPanel, sui quali vorrei disegnare due immagini.

Il problema è che le immagini vengono disegnate ad ogni chiamata di repaint(), ma una frazione di secondo dopo vengono sostituite dal classico colore di sfondo grigio del JPanel.

Il programma è troppo lungo per effettuare un copia/incolla, ecco le parti principali.
Le classi coinvolte nella grafica sono tre

ClassePrincipale extends JApplet
ChartWindow extends JPanel
Grafico

La parte grafica è strutturata come segue

ClassePrincipale
Nell' init()
codice:
finestraGrafica=new ChartWindow();
add(finestraGrafica)
ChartWindow
codice:
paintComponent(Graphics g)
{
  super.paintComponent(g);
  Image immagineGrafico=createImage(grafico.pannelloGrafico.getWidth()
                                  ,grafico.pannelloGrafico.getHeight()); 
  Image immagineVolumi=createImage(grafico.pannelloVolumi.getWidth()
                                  ,grafico.pannelloVolumi.getHeight());
  Graphics2D imgGrafico=(Graphics2D)immagineGrafico.getGraphics();
  Graphics2D imgVolumi=(Graphics2D)immagineVolumi.getGraphics();
  grafico.draw(imgGrafico,imgVolumi,mouseX,mouseY);

  ((Graphics2D)grafico.pannelloGrafico.getGraphics()).drawImage(immagineGrafico,0,0,this);
  ((Graphics2D)grafico.pannelloVolumi.getGraphics()).drawImage(immagineVolumi,0,0,this);
}
Naturalmente grafico è un oggetto della classe Grafico.
grafico contiene due JPanel, che vengono aggiunti nel costruttore di ChartWindow assieme ad altri componenti

codice:
grafico=new Grafico()
................
add(grafico.pannelloGrafico);
add(grafico.pannelloVolumi);
Penso ci sia tutto. Ci sono stato diverse ore dietro ma senza risultati. Se pensate che manchi qualche informazioni scrivetemi senza problemi.
Grazie per la lettura