Typy nieprymitywne w tabelach Vaadin

Powrót do konwerterów, ale tym razem w kontekście tabeli. Problem Mamy sobie tabelkę wyświetlającą jakieś tam dane. W jednej z kolumn chcemy wyświetlić informację o polu obiektu, które to pole nie jest prymitywne/boxowane/stringiem (jeżeli jest to vaadinowy komponent GUI to zostanie osadzony w komórce, ale to jest wyjątek). Przykładowo: Listing 1. definicja tabeli Table table […]

Szybkie tworzenie list z pomocą edytorów w Vaadin

Kolejny wpis z serii jak to zrobić w Vaadin by nie bolało. Załóżmy, że chcemy sobie spiąć pole naszego bean-a z ComboBox-em. Oczywiście coś w rodzaju: Listing 1. To nie zabangla ComboBox listofSth = fieldGroup.buildAndBind(„Lista wyboru”, „oneOfMany”, ComboBox.class); Walnie nam wyjątkiem com.vaadin.data.fieldgroup.FieldGroup$BindException i nie ma w tym nic dziwnego ponieważ skąd framework ma wiedzieć czy […]

Własne układy w Vaadin

Krótka przerwa od Guavy i przesiadka na Vaadin. Dziś o własnych szablonach układów. Problem wyglądu Często gęsto jest tak, że chcąc uzyskać jakiś konkretny układ graficzny dla bardziej skomplikowanych komponentów graficznych tworzymy własne komponenty. Własne komponenty składamy w bardziej skomplikowane by finalnie uzyskać pożądany efekt. Doskonałym przykładem tego typu sytuacji są wszystkie aplikacje zarówno webowe […]

O Vaadin w Magazynie Programista

W najbliższym numerze Magazynu Programista znajdzie się mój artykuł na temat Vaadin. Będzie to druga część tekstu, który ukazał się w listopadzie. Przy okazji zapraszam na pod-forum Magazynu na 4programmers. Kod jest dostępny na licencji MIT. Jednak niektóre rozwiązania mogą być objęte inną licencją. W takim przypadku jest, to zaznaczone. Artykuły są dostępne na licencji […]

CustomField w Vaadin – bo w sieci nie ma

Jako, że internety są pełne działających przykładów użycia vaadin-owej klasy CustomField… Problem Mamy sobie do zbudowania formularz do edycji beanów z osadzonymi beanami. Przykładowo mamy klasę Human z polem Address. Pytanie jak to zrobić w Vaadin by się nie narobić? Metody stare i pracochłonne W dodatku niedziałające albo działające nie do końca dobrze. Pierwszą metodą […]

Panele i Layouty w Vaadin, czyli na chuj mi ten wrzątek… łaaaaa!!!!!

Nie wiem czy to błąd projektowy czy celowe działanie czy po prostu „no niestety tak to działa”, ale natknąłem się na dość ciekawego babola w Vaadin. Otóż w Vaadin mamy do dyspozycji dwa rodzaje kontenerów na komponenty. Pierwszy to panele, drugi layouty. To oczywiście w ogromnym uproszczeniu. W panelach można osadzić jeden komponent za pomocą […]

Vaadin 7 i Guice 3.0, czyli o prostocie rzeczy niemożliwych

Wprowadzenie Vaadin 7 oznaczało całkowicie nową filozofię tworzenia aplikacji. Wiele elementów frameworku napisano od nowa. Tym samym na drzewo wysłano cały know-how dotyczący integracji pomiędzy Vaadin i innymi frameworkami. Głównym problemem stało się to jak obecnie wygląda zarządzanie główną klasą aplikacji. We wcześniejszych wersjach pod spodem po prostu tworzono nowy obiekt przez refleksję w serwlecie, […]

Miś push-upek z Finlandii

Dawno temu opisałem jak zintegrować ICE Push z Vaadin z pomocą Guice. Tamto dotyczyło Vaadin 6.x. Dziś to samo tyle, że z Vaadin 7.1. Wstęp Gdy pojawiły się pierwsze informacje o nowej „dużej” wersji Vaadin praktycznie od razu zaczęto zastanawiać się nad integracją Vaadin z Server Push. Początkowo miało to nastąpić już w wersji 7.0 […]

Dlaczego Scala jest dobrym pomysłem przy Vaadin?

Vaadin jest frameworkiem dobrym. Ma jasno określone cele, wymagania oraz zapotrzebowanie na zasoby. API jest niczego sobie, a jak nam mało to zawsze możemy do pracy zaprząc GWT i frameworki JavaScriptowe. Ma jednak to API jedną straszną wadę… // DOWCIP W C metody nie mają nazw opisowych. W php nazwy czasami są opisowe, czasami nie, […]

Vaadin 7 i Scala w jednym stali pomie

Wpis będzie o rzeczach podstawowych. Vaadin 7 Wyszło już pewien czas temu. Zmian w stosunku do poprzedniej „dużej” wersji jest dużo. Dla nas na chwilę obecną ważne jest, że nie dziedziczymy po klasie Application, a po klasie UI. Zresztą ta pierwsza klasa nadal jest obecna w API ponieważ twórcy chcą utrzymać zgodność wsteczną. Pierwszym krokiem […]