🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.java
2 messages
2 total messages Started by Krzysztof Murkowski Tue, 25 Feb 1997 11:26
getBackground w Netscape
#351
Author: Krzysztof Murkowski
Date: Tue, 25 Feb 1997 11:26
29 lines
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
#352
Author: Piotr Piatkowski
Date: Tue, 25 Feb 1997 17:33
53 lines
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