Witajcie.
Jeżeli chodzi o rysowanie w Javie, jestem absolutnie początkujący. Programowałem trochę, ale raczej w formie "czarnych skrzyneczek", które miały dokonywać odpowiednich przeliczeń i transformacji obiektów - rysowanie jest mi raczej obce.
I tak - mam sobie prościutki applet. Chcę narysować obrazek, a potem go sukcesywnie zwężać aż do pewnego etapu. Problem polega na tym, że nie widzę nic (biały obszar), dopiero po zakończeniu wszystkich obliczeń pojawia się zwężony ostatecznie obrazek (ostateczny efekt). Pytanie - jak zrobić, abym mógł systematycznie obserwować zmiany, cały czas widzieć obrazek?
Z góry dzięki za pomoc.
Kod:
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
public class Memory extends Applet {
private int j=0;
private Image img;
private Image scaledImg;
public void init()
{
ImageIcon imgic = new ImageIcon("tex.jpg"); // wczytujemy obrazek
img = imgic.getImage(); // zapisujemy pierwotny obrazek
scaledImg = img; // poczatkowo obrazek skalowany = pierwotnemu
paint(this.getGraphics()); // rysujemy pierwotny obrazek
cmon();
}
private void cmon()
{
for(j=0;j<=90;j++)
{
Image tmpimg = img.getScaledInstance(100-j, 100, Image.SCALE_FAST);
scaledImg = tmpimg; // zmniejszamy obrazek
repaint(); // i wyrysowujemy zmniejszony
for(int j=0;j<1e7;j++); // (petla opozniajaca, zeby mozna bylo zobaczyc efekt)
}
}
public void paint(Graphics g)
{
g.drawImage(scaledImg, j/2, 0, this); // po prostu wyrysowujemy obrazek
}
}