🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.java
Article #141857

Re: Point podwójnej precyzji + animacja

#141857
From: SasQ
Date: Tue, 21 Oct 2008 15:15
38 lines
2580 bytes
Dnia 21-10-2008 o 13:18:24 Brzezi napisał(a):

> Point2D.Double

Dzięki, działa :)

Wcześniej próbowałem jej nawet użyć, ale coś najwyraźniej
pokręciłem, bo kompilator nie chciał mi tego łyknąć :|
Teraz łyka. Cóz... Javą bawię się dopiero od kilku dni ;J

OK, to teraz może coś trudniejszego:

W swoim programie mam pewną klasę, która co jakiś czas będzie
generowała pewną tablicę 2D z danymi zmiennoprzecinkowymi.
Mam też klasę RenderView dziedziczącą po JPanel, której zadaniem
jest przerobić te dane na obraz [przelicza wartość z tablicy na
wartość koloru i wrzuca na BufferedImage].
Dotychczas mapowanie danych na obraz miałem wewnątrz metody paint()
w RenderView. Jednak coś takiego odświeża widok na panelu tylko
wtedy, gdy musi. Ewentualnie gdy w kółko nakazuję mu się odświeżać.

Wolałbym, żeby klasa generująca te dane zmiennoprzecinkowe [model]
powiadamiała jakoś swoje widoki, że zawartość tablicy się zmieniła
i wtedy widoki [takie jak ten panel RenderView] mogłyby odświeżyć
swoje bufory graficzne [BufferedImage] na podstawie nowych danych
i wywoływałyby swoje metody paint(), by obraz wyświetlił się na
komponencie.

Tylko jak zrobić to powiadamianie, że w tablicy modelu są nowe
dane i widoki powinny się odświeżyć?

Chodzi mi tu po głowie wzorzec Observer i zauważyłem w paru
miejscach coś takiego jak ImageObserver. Czy da się tego jakoś
użyć w tym celu? Jeśli nie, to jak to zrobić? Bo wydaje mi się,
że to częsty motyw i już są jakieś gotowe klasy do tego.

-- 
SasQ
Technical Details
Message-ID: <op.ujdrclzktgehyw@szczur>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.internetia.pl!news.intelink.pl!newsfeed.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail
References: <op.ujdjtatmtgehyw@szczur> <slrn.pl.gfrju3.gsc.usunto.brzezi@localhost.localdomain>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.internetia.pl!news.intelink.pl!newsfeed.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail
From: SasQ <sasq1@go2.pl>
Newsgroups: pl.comp.lang.java
Subject: Re: Point podwójnej precyzji + animacja
Date: Tue, 21 Oct 2008 17:15:47 +0200
Organization: Ganz Automyjnia (i przeróbki ;)
Lines: 38
Message-ID: <op.ujdrclzktgehyw@szczur>
References: <op.ujdjtatmtgehyw@szczur> <slrn.pl.gfrju3.gsc.usunto.brzezi@localhost.localdomain>
Reply-To: sasq1@go2.pl
NNTP-Posting-Host: awi201.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
X-Trace: atlantis.news.neostrada.pl 1224602858 446 83.27.68.201 (21 Oct 2008 15:27:38 GMT)
X-Complaints-To: usenet@news.neostrada.pl
NNTP-Posting-Date: Tue, 21 Oct 2008 15:27:38 +0000 (UTC)
User-Agent: Opera Mail/9.52 (Linux)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit