Thread View: pl.comp.lang.java
2 messages
2 total messages
Started by Krzysztof Murkowski
Tue, 25 Feb 1997 11:26
getBackground w Netscape
Author: Krzysztof Murkowski
Date: Tue, 25 Feb 1997 11:26
Date: Tue, 25 Feb 1997 11:26
29 lines
1462 bytes
1462 bytes
Czesc,
mam nastepujacy problem z animacja :
przesuwam obiekt w applecie (np. przerysowuje prostokat) i uzywam
pierwszej metody zapobiegania miganiu podanej w Java SDK - nadpisanie
metody update().
Animacja jest uruchomiona w watku, ktory raz po raz sie budzi, zmienia
wspolrzedne, przerysowuje ekran przez repaint() i zasypia na troche.
Fragment z update() :
Color bg=getBackground();
Color fg=getForeground();
g.setColor(bg);
g.drawRect( ox, oy, sx, sy ); // mazanie
g.setColor(fg);
g.drawRect( x, y, sx, sy ); // narysowanie od nowa
ox, oy - stare wspolrzedne,
x, y - nowe wspolrzedne
Wszytko pieknie dziala w applet viewer'rze, ale w Netscape prostokat nie
maze swojego poprzedniego polozenia tak jakdbyby bg==fg.
--
Krzysztof Murkowski
mailto:murek@ml.put.poznan.pl
http://www.ml.put.poznan.pl/~murek
Re: getBackground w Netscape
Author: Piotr Piatkowski
Date: Tue, 25 Feb 1997 17:33
Date: Tue, 25 Feb 1997 17:33
53 lines
2411 bytes
2411 bytes
Krzysztof Murkowski <murek@ml.put.poznan.pl> wrote: : Czesc, : mam nastepujacy problem z animacja : : przesuwam obiekt w applecie (np. przerysowuje prostokat) i uzywam : pierwszej metody zapobiegania miganiu podanej w Java SDK - nadpisanie : metody update(). W poniższym przypadku nie zapobiegnie to migotaniu, jeżeli tylko prostokąty - stary i nowy będą się nakładać, np tak: +----+ | +----+ | | | +--| | +----+ to najpierw zostanie narysowany ten stary w kolorze tła, a potem nowy w kolorze fg, więc na obszarze który się pokrywa będzie migotanie koloru tła i fg. Żeby to zrobić naprawdę dobrze, trzeba by użyć metody off-scrren, czyli rysowania na MemoryImage a następnie kopiowania tego image na ekran (tzn. do kontekstu graficznego appleta). Ale to tylko taka dygresja :-) : Animacja jest uruchomiona w watku, ktory raz po raz sie budzi, zmienia : wspolrzedne, przerysowuje ekran przez repaint() i zasypia na troche. : Fragment z update() : : Color bg=getBackground(); : Color fg=getForeground(); : g.setColor(bg); : g.drawRect( ox, oy, sx, sy ); // mazanie : g.setColor(fg); : g.drawRect( x, y, sx, sy ); // narysowanie od nowa : ox, oy - stare wspolrzedne, : x, y - nowe wspolrzedne : Wszytko pieknie dziala w applet viewer'rze, ale w Netscape prostokat nie : maze swojego poprzedniego polozenia tak jakdbyby bg==fg. Najprościej sprawdź sobie czy faktycznie - wstaw zaraz pod ustaleniem fg i bg: System.out.println( "fg=" + fg.toString() ); System.out.println( "bg=" + bg.toString() ); W tym momencie nic innego nie przychodzi mi do głowy. -- Piotr Piątkowski, Uczelniane Centrum Informatyki, AGH Krakow, POLAND
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads