Sprawa polega na tym że gdy wywołuje repaint() gdzies gdzie tworze nowy obraz dst
slider.addChangeListener(new ChangeListener(){
public void stateChanged(ChangeEvent arg0)
{
System.out.println("slidervalue"+slider.getValue());
licz++;
flaga_slider=true;
try
{
src= Toolkit.getDefaultToolkit().getImage(file.getPath());
}
catch (NullPointerException e)
{
if(licz%3==0)
jl.setText("Wybierz obraz żeby użyć filtru.");
jpanel.add(jl);
jl.setSize(300,100);
jl.setVisible(true);
// Alert("Wybierz obraz żeby użyć filtra.");
}
dst = src;
// TODO Auto-generated method stub
try{
dst =createImage(new FilteredImageSource(dst.getSource(),
new AlphaFilter((slider.getValue() * 255) / 9)));
jpanel.getGraphics().drawImage(dst,0, 0, 600, 600,observer);
}
catch (NullPointerException e) {
// System.out.println("p was null");
}
System.out.println(dst);
frame.repaint()
}
});
to w ogóle nie wchodzi do tej funkcji :
public void paint(Graphics g) {
System.out.println("jestem w paint");
if(dst==null){
komunikat();
}else{ System.out.println("obrazek"+dst);
jpanel.getGraphics().drawImage(dst, dm.height, dm.width, this);
} }
nie mówiąc już o tym że w ogóle nie chce mi rysować nowego obrazka sprawa może być bardziej złożona ale działa gdy odwołuje się do Frame przez Super() a nie tworze nowego Frame tylko że wtedy gdy odwołuje się przez super to obraz na JFrame jest zamazany tak jakby się zawiesił proszę o pomoc chętnie naprowadze bliżej do rozwiązania problemu chce żeby działało na frame sprawdzałem tak frame.repaint() też się nie odwołuje do funkcji paint()... prosze o pomoc