Archiwum dla tagu: java


Kategoria: Luźne myśli
Tagi: ,

Przeglądarka zdjęć w Javie

Jak obiecałem (co prawda z małym opóźnieniem) tak robię. Pod tym adresem można ściągnąć spakowane źródła projektu w Javie nad, którym pracowałem. Dla leniwych dołączam screeny.

Aplikacja wykorzystuje mechanizmy tworzenia grafiki bardzo podobne do Flash Playera. Rozbudowałem dodatkowo logikę dostępności komponentów i ich potomków. W projekcie zaimplementowany jest bardzo prosty Tweener – obsługuje przyciski do przechodzenia pomiędzy zdjęciami. Ogólnie proponuję go bardziej traktować jako źródło ciekawych rozwiązań niż przeglądarkę zdjęć.

Na koniec jeszcze mała uwaga. Przed prezentacją projektu wyszedł problem z mruganiem podczas odświeżana grafiki aplikacji. Problem ten można rozwiązać zmieniając w niewielkim stopniu algorytm renderujący poprzez detekcję regionów zmian i renderowanie z wykorzystaniem bufora. Niestety trochę to zajmuje, a niestety nie dysponuję źródłami z prezentacji ani czasem na ponowne wprowadzenie poprawek. Liczę na wyrozumiałość. Kod opatrzony jest komentarzami w języku angielskim – mogą być małe błędy językowe/literówki,  za co również przepraszam.

Miłej zabawy!

Komentarzy: 2 (komentuj, RSS dyskusji)
Ostatni komentarz:
Konrad:

Potrzebujesz środowisko java z sdk. Przyda się też jakiś (skonfigurowany) edytor oparty no Eclipse. Dzięki niemu cały proces skróci się ...

Cała dyskusja >

Kategoria: Luźne myśli
Tagi:

Ciąg dalszy przygody z Javą

Już od tygodnia bardzo intensywnie (nawet bardzo bardzo bardzo) pracuję nad projektem w Javie. Oznajmiam wszem i wobec, że został właśnie ukończony. Przez swój perfekcjonizm okupiłem to niemałym wysiłkiem, ale cel został osiągnięty. Wczoraj miałem mały kryzys związany z Javą. Zaczynałem wierzyć, że to naprawdę porządne narzędzie. Mile też mnie zaskoczył NetBeans IDE a jego opcje refactoringu wręcz ocaliły mnie przed masą niepotrzebnych błędów. Nadeszła jednak chwila weryfikacji: zarządzanie pamięcią przez wirtualną maszynę. Ręce mi opadły jak przeczytałem, że pojawiające się ograniczenia przy przetwarzaniu plików, w dodatku powodujące błędy, są zamysłem autorów. Przez to i zarządzanie obrazami stało się o wiele przyjemniejsze – zwłaszcza generowanie miniatur dla katalogów, czy obracanie kobył. Rozwiązanie polegające na realizowaniu funkcjonalności przez wybór odpowiedniej gotowej klasy nie zdało egzaminu. Otworzyła się natomiast długa i wyboista droga znana mi choćby z Web developingu zwana Work Around. Widzę nawet podobieństwa przeglądarki-systemy, głównie w ekstremalnym klepaniu pod wąsko rozstawiony standard. Drugi problem potwierdzający, że to nie jednostkowy przypadek,  to kosmiczny dostęp do metod, które okazują się ułomne lub z niemiłą niespodzianką w środku, np. Rysowanie teksu w Graphics, czy taki ficzer jak dostęp do podwójnego buforowania. Java to Ciekawy język dający wiele możliwości, ale może lepiej poszukać lepiej nam pasującego specjalisty, niż iść z otwartym złamaniem do byle doktora. Projekt przejdzie jutro chrzest, po którym opublikuję go na blogu.

Bądź pierwszą osobą, która skomentuje ten wpis! (komentuj, RSS dyskusji)

Kategoria: Luźne myśli
Tagi: ,

Dzień dobry!

Od kilku dni (dokładniej 3.) przyłożyłem się solidnie do projektu w Javie. Wykonałem już kilka re-factoringów. Mam już gotowe i przetestowane wszystkie rozwiązania tworzące jego rdzeń.  Pozostał mi już tylko jeden widok, który mam zamiar dzisiaj skończyć. Z innych dobrych wieści. Bardzo duży projekt, dla którego organizuję zespół wykonawczy, dostał dofinansowanie unijne. Jest to projekt z kategorii mocno innowacyjnych, co tym bardziej mnie cieszy, że spotkał się z akceptacją. To wszystko co mogę zdradzić. Zapowiada się niesamowicie pracowita okres!

PS. Java jednak nie jest taka zła. Trzeba mieć tylko dużo cierpliwości w odszukiwaniu w dokumentacji (albo w Googlach) potrzebnych klas i przykładów użycia. Często może się też okazać, że szukaliśmy złej klasy, bo np. istnieją klasy realizujące cały nasz problem (lekko nadmiarowo) zamiast wycinka, nad którym aktualnie pracujemy.

Bądź pierwszą osobą, która skomentuje ten wpis! (komentuj, RSS dyskusji)

Kategoria: Luźne myśli

Projekt w Javie

Od kilku dni (z dużymi przerwami w trakcie) piszę projekt w Javie. Język ten jest dla mnie szczególnie intrygujący, gdyż wymieniany jest jako konkurent dla Platformy Flash – głównie pod kątem rozwiązań mobilnych. Urzekło mnie kilka rzeczy. Każdy język ma swoje perełki, które mają go wyróżnić od reszty. Mogę powiedzieć, że tutaj najbardziej uderza takie kształtowanie programisty, że przesiadka na inny język będzie co najmniej niedyskomfortowa. Wynika to z wielu elementów – a część z nich ma podstawę w ideologii stojącej za Javą.  Myślę, że z tym mam największy „zgrzyt wewnętrzny” do przekonania się do tego języka. Dla mnie cudownym rozwiązaniem byłoby tworzenie kodu abstrakcyjnego (i uniwersalnego) do przetwarzania logiki, który komunikuje się z komponentami rozwiązującymi wytyczone zadania poza moją logiką. Wewnętrzne bebechy byłyby uniwersalne i z niewielkim kosztem do przeniesienia między językami – im mniejsze różnice przy przenoszeniu tym lepiej. Java natomiast wszystko rozwiązuje gotowymi obiektami. Programujemy jedynie zmieniając kolejność komunikacji pomiędzy nimi i tworząc nowe instancje z masy klas wchodzących w kilkutysięczny zbiór . Wszystko niby na zasadach wymagających przejrzystości i elegancji, jednocześnie dopuszczając klasy bezimienne i inne  konstrukcje wywołujące u mnie mieszane uczucia. Wyciskając maksimum z rozwiązań do chwytania wyjątków i błędów. Ja chyba jednak wolę bardziej 0/1-kowy styl. Na koniec muszę przyznać, że na poziomie 80% ukończenia projektu (jest nim przeglądarki zdjęć)  zacząłem zmieniać jego strukturę. Stwierdziłem, że jednak wolę komponenty i rozwiązania działające po mojemu. Tak zacząłem tworzyć własny mechanizm listy wyświetlania, własne mechanizmy nasłuchiwania i własne komponenty. Chyba, na dłuższą metę, Java nie jest dla mnie. Jak skończę projekt, to trafi na blog jako tutorial i narzędzie do zabawy.

Bądź pierwszą osobą, która skomentuje ten wpis! (komentuj, RSS dyskusji)