Zaloguj się
Projekty Kategorie Archiwum
10 marca

ProgressIcon to prosta implementacja javax.swing.Icon, która oprócz zwykłego obrazka ikony, wyświetla również "pasek postępu".

Pobierz

Ikona ProgressIcon umieszczona na przycisku JButton:

Image Hosted by ImageShack.us

Kod powstał w ramach eksperymentów, więc API może być trochę niekompletne ;)

Proszę o komentarz

Wtorek 10 marca, 2009 09:38

System.out.println(graphics typeof Graphics2D);
>> true

Tle pamiętam z Grafiki komputerowej w zeszłym semie, że wszystkie nowe javy automatem już przekazując Graphics2D jako referencję do wszystkich funkcji paint*. Wystarczy zrzutować.

PS. O co chodzi z tym WeakReference?

Wtorek 10 marca, 2009 10:32

@zwierzak: Zgadza się. Zamiast graphics.create() można zrobić (Graphics2D)graphics. Jednak kopia „graphics” jest wygodniejsza, ponieważ nie muszę się martwić o to jak np. zmiana przezroczystości wpłynie na rysowanie reszty przycisku, który może przecież korzystać z tego samego „graphics”.

WeakReference to takie odwołanie do innego obiektu, które się samo ustawi na „null”. Dzięki temu klasa ProgressIcon nie będzie trzymać referencji do innego obiektu w nieskończoność i unikniemy potencjalnego wycieku pamięci (tak na wszelki wypadek ;)

Wtorek 10 marca, 2009 10:34

Ano masz rację, o tym nie pomyślałem. Do tej pory zawsze rzutowaliśmy, ale należało pamiętać o przywróceniu domyślnych ustawień, w wypadku AffineTransform było proste, ale nie zawsze to się pamięta. Sztuczka warta zapamiętania.

Napisz komentarz

Dodaj komentarz

Formatowanie komentarza

Kategorie

Ewolucja Internetu 8 | Fail 40 | Gry 46 | Humor 129 | Idiotyzm 50 | Java 110 | KDE 85 | KShutDown 22 | Linux 84 | Makagiga 58 Muzeum 3 | Ogólne 819 | Polityka 76 | Programowanie 51 | Reklamy 4 | Techblog 19 | Teorie Spiskowe 12 | TV 59 | UI 9 | Użyteczność 30 | WWW 90 | Wyrwane z Kontekstu 34 | X Files 14

Archiwum

Maj 2012 | Kwiecień 2012 | Marzec 2012 | Luty 2012 | Styczeń 2012 | Grudzień 2011 | Listopad 2011 | Październik 2011 | Wrzesień 2011 | Sierpień 2011 | Lipiec 2011 | Czerwiec 2011 | Maj 2011 | Kwiecień 2011 | Styczeń 2011 | Listopad 2010 | Październik 2010 | Wrzesień 2010 | Sierpień 2010 | Lipiec 2010 | Czerwiec 2010 | Kwiecień 2010 | Marzec 2010 | Luty 2010 | Styczeń 2010 | Grudzień 2009 | Listopad 2009 | Październik 2009 | Wrzesień 2009 | Sierpień 2009 | Lipiec 2009 | Czerwiec 2009 | Maj 2009 | Kwiecień 2009 | Marzec 2009 | Styczeń 2009 | Grudzień 2008 | Listopad 2008 | Październik 2008 | Wrzesień 2008 | Sierpień 2008 | Lipiec 2008 | Czerwiec 2008 | Maj 2008 | Kwiecień 2008 | Marzec 2008 | Luty 2008 | Styczeń 2008 | Grudzień 2007 | Listopad 2007 | Październik 2007 | Wrzesień 2007 | Sierpień 2007 | Lipiec 2007 | Czerwiec 2007 | Maj 2007 | Kwiecień 2007 | Marzec 2007 | Luty 2007 | Styczeń 2007 | Grudzień 2006 | Listopad 2006 | Październik 2006 | Wrzesień 2006 | Sierpień 2006 | Lipiec 2006 | Czerwiec 2006 | Maj 2006 | Kwiecień 2006 | Marzec 2006 | Luty 2006 | Styczeń 2006 | Grudzień 2005 | Listopad 2005 | Październik 2005 | Wrzesień 2005 | Sierpień 2005 | Lipiec 2005 | Czerwiec 2005 | Maj 2005 | Kwiecień 2005 | Marzec 2005 | Luty 2005 | Styczeń 2005