JApplet (MainClass가 JApplet을 확장), JPanel (ChartWindow가 JPanel을 확장) 및 Grafico 클래스를가집니다.JPanel의 paintComponent 이미지가 깜박 인 다음 사라집니다.
문제는 Grafico 클래스 인스턴스에 2 개의 이미지 (각 패널 당 1 개)를 표시해야하는 JPanel이 있지만 이미지가 표시되고 잠시 후 사라지는 것입니다. 대신 회색 배경이됩니다 (예 : 빈 JPanel). 이
은 MainClass init()
는
chartwindow=new ChartWindow();
add(chartwindow)
chartwindow가 GRAFICO의 인스턴스가 포함합니다 (ChartWindow 클래스에서 만든) 모든 재 페인트() 호출에 발생합니다.
는
grafico=new Grafico()
................
add(grafico.pannelloGrafico);
add(grafico.pannelloVolumi);
더 많은 정보를 필요로하는 경우에, 저에게 대단히 :-)를 ChartWindow의 GRAFICO의 JPanel의이 ChartWindow의 생성자에서이 방법을 추가
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);
}
paintComponent
(재정의) 감사 메시지
어떻게 깜박 거렸습니까? –