私は JApplet (MainClass は JApplet を拡張します)、JPanel (ChartWindow は JPanel を拡張します)、および Grafico クラスを持っています。
問題は、Grafico クラス インスタンスに 2 つの画像 (各パネルに 1 つ) を表示する必要がある 2 つの JPanel があることですが、画像が表示され、しばらくすると画像が消えます。代わりに、灰色の背景 (空の JPanel など) が表示されます。これは、(ChartWindow クラスで行われる) repaint() 呼び出しごとに発生します。
MainClassinit()
に含まれる
chartwindow=new ChartWindow();
add(chartwindow)
chartwindow には Grafico インスタンスがあります。
それは ChartWindow のpaintComponent
(オーバーライド)
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);
}
grafico の JPanels は、この方法で ChartWindow のコンストラクターに追加されます。
grafico=new Grafico()
................
add(grafico.pannelloGrafico);
add(grafico.pannelloVolumi);
さらに情報が必要な場合は教えてください。ありがとうございます:-)