Jako halvni rozdil mezi Spring RCP a JGoodies bych videl, ze JGoodies je zameren jen na formulare, kdezto Spring na beh cele aplikace.

Kdyz se jedna o formulare, tak tam se vytvareji vcelku jednoduse. Skracene.
setFormObject(object);

formBuilder.add("polozka1");
formBuilder.add("polozka2");
formBuilder.add("polozka3");
formBuilder.add("polozka4");
formBuilder.add("polozka5");
formBuilder.getForm();

A muzete si zvolit ruzne alyouty, GridBag, TableBag. To uz je na vas. Pokud mam formularovy objekt treba takovy:
String polozka1; -- Zobrazi se jako policko do ktereho se da vlozit libovolny text
Integer polozka2; -- Zobrazi se jako policko do ktereho se da vlozit jenom cislo
Enum polozka3; -- Zobrazi se jako rozbalovaci seznam s moznostmi z vyctu. S tim, ze lozkalizovane nazvy polozek vezme ze zdroje zprav.
Date polozka4; -- Zobrazi se jako NachoCalendar (mozne je i calendar z JGoodies, ale tam je obecne problem s lokalizaci), popripade jakykoli jiny kalendar kdyz si na to udelas data binder
Selectable polozka5; -- No a tady tohle se zobrazi podle toho jaky databinder vytvoris a cim ty data nacpes. Takze nekdy to mam jako List, nekdy jako ComboBox to uz je na tobe. Proste podedis z ComboBoxBinder a naplnis ten objekt datama jake potrebujes.

Co se tyce toho validatoru, tak tam je to postavene na modulu springu validator. Takze to ma ty vlastnosti. Samozrejme ze validator musis povetsinou napsat sam. Nekdy se to da udelat jenom s pomoci regularnich vyrazu, nekdy je to potreba sprogramovat jako funkci. Treba validator pro wizarda, ktery chce Jmeno, Prijmeni a rodne cislo, s tim ze vsechno ve smysluplnem tvaru (ve jmene treba neni mezera, nebo cislo atp., rodne cislo ma nalezitosti rodneho cisla), jsem udelal takto:

    /** Rules for creating new member of organization
     * @return rules for creating member
     */
    private final Rules createMemberRules() {
    return new Rules(NewMember.class) {
            protected void initRules() {
        add("rodneCislo", getRodneCisloValueConstraint());
        add("firstName", getNameValueConstraint());
        add("secondName", getNameValueConstraint());
            }
        };
    }

    /** Methode which make contrains for new name
     * @return complex contrains. Requird, max length and regexp
     */
    private final Constraint getNameValueConstraint() {
        return all(new Constraint[] {required(), maxLength(MAX_NAME_LENGTH),
                     regexp("\\D*", "alphabetic")});
    }

    /** Methode which return contrains for new Rodne cislo
     * @return coplex contrains and complex regexp
     */
    private final Constraint getRodneCisloValueConstraint() {
    String regexpMesice31 = "([05][13578](([012]\\d)|(30)|(31)))";
    String regexpMesice30 = "([05][469](([012]\\d)|(30)))";
    String regexpMesic2 = "((([02468][048])|([13579][26]))"
        + "([05]2(([01]\\d)|(2\\d))))"
        + "|" + "(\\d{2}[05]2(([01]\\d)|(2[0-8])))";
    String regexpMesic11 = "([16]1(([012]\\d)|(30)))";
    String regexpMesic12 = "([16]2(([012]\\d)|(30)}(31)))";
    String regexpMesice = "(" + regexpMesice31 + "|" + regexpMesice30
        + "|" + regexpMesic11 + "|" + regexpMesic12 + ")";
    String regexpRodneCislo = "((" + regexpMesic2 + ")|(\\d{2}"
        + regexpMesice + "))/\\d{3,4}";

        return all(new Constraint[] {required(),
                     maxLength(MAX_RODNECISLO_LENGTH),
                     regexp(regexpRodneCislo)});

    }

Ten regularni vyraz pro rodne cislo by mozna sel napsat i jednoduseji, ale ja zase v regularech nejsem tak sbehli. Kazdopadne az na delitelnost jedenacti (ktera fakt nevim jak se v regularu dela) kontroluje vsechno (vcetne prestupnych roku a ctyrech cifer na konci po roku 53).
Ahoj,
odpovídám na zprávu z úterka, 10. října 2006,
kterou Benda Lukas napsal(a) v 18:21:45:

   No, součástí JGoodies je i Validation framework, který přesně takové křížky umí, ale přijde mi to docela složité. Respektive trochu  moc upsané. Samotný JGoodies taky dokáže zcela řídit, kdy má změna ve formuláři promítnout do datového modelu, takže to Spring asi prostě jen převzal. I když možná to zjednodušil ;-) Tam se ty formuláře konfigurují jak? Je nato nějaké XML nebo anotace? V případě JGoodies musím sám napsat třídu zajišťující validaci, sám pro každý formulář provést mapování, atd. U toho validátoru jsem přišel na zajímavou věc. Buďto lze docílit toho, aby se nevyplněné položky modře podsvítily nebo jde chybně vyplněné označit právě tím křížkem, ale nejde to zkombinovat, nechápu proč. O to podsvícení nebo zvýraznění se starají dva různé handlery a nelze použít oba. Leda si napsat vlastní handler. Docela mě to překvapilo.

--------------------------- Původní zpráva ---------------------------
 Odesilatel: Benda Lukas <[EMAIL PROTECTED]>
    Předmět: Chytre knihy o swingu
      Datum: 10. října 2006, 18:21:45 (GMT +0200)
    Přílohy: <none>
      msgid:[EMAIL PROTECTED]
    
B> No nechci rikat ze by to bylo snazsi, to uz je otazka jak rozsahle si 
B> prajete vlastnosti vaseho formulare. Protoze Spring je obecne postaven
B> na filozofii, vytvorime spojovaci prostredi pro jiz existujici skvele 
B> projekty a obcas pridame nejakou funkcnost navic. Obdobne pracuje i 
B> Spring RCP. Tudiz integruje do sebe JGoodies, takze jste minimalne 
B> schopny stejne jednoduse binding udelat.

B> No je pravda, ze jsem se JGoodies nikdy nezabyval do detailu, takze 
B> nevim jak presne funguje.

B> Mne ale na tomto uchvacuje (nevim jak je to v JGoodies, takze netvrdim
B> ze on to nemam), to ze vytvari FormObject, ktery je caschovany, takze se
B> zmeny do skutecne ziveho objektu (spojeneho s databazi) zapisi az pro 
B> provedeni akce ulozeni. Samozrejme pred touto akci je mozno provest 
B> kontrolu dat, stejne tak jako po vlozeni muzete reagovat nejakou dalsi
B> akci. Dal ma docela propracovane pravidla pro vyplnovani formularu. 
B> Takze napriklad pri vkladani noveho clena organizace mam ve wizardu 
B> nastavene policka tak, ze rodne cislo musi byt validni a musi byt 
B> vyplneno jmeno a prijmeni, jinak je na spatne vyplenem policku krizek,
B> ze je policko neplatne a uzivatel nemuze pokracovat ve vkladani.

B> Dalsi super vlastnosti je moznost vazby siwng koponenty (nebo komponent)
B> na tridu parametru. Takze kdyz napriklad vkladam dejme tomu adresu 
B> (adresu ma stejnou okres, organizace, kraj, kontaktni osoba, clen - je
B> to furt ten samy formular), tak proste navazu na class Adressa formular
B> s polickama ulice, obec, posta, psc, telefon a pak pouze zadam 
B> formBuilder.add("adressa"); a cely formular se mi vlozi do panelu jak uz
B> je predpripraven.

B> Ma to samozrejme spustu dalsich moznosti. Super provazani s wizardrama,
B> ktere vlastne pouzivam uz casteji nez dialogy. Dobra podpora 
B> Master/Detail/Detail/Detail .....

B> Tak bych to rekl takhle kdyz umite Spring, je to super pro EE aplikace,
B> a kdyz uz ho znate a chapete jeho logiku, tak proc ho nevyuzit i pro SE
B> aplikace? Ja napriklad celou dobu vyvyjel dekstopovku a najednou se 
B> ukazalo, ze bude zakaznik potrebovat mit vice klientu a jenom jednu 
B> aplikaci. Takze vsechno co jsem udelal, ze jsem aplikaci roztrhl a do 
B> popisovace vlozil pet radku s popisem pripojeni k RMI a uz mam tri 
B> vrstvou aplikaci (samozrejme bez optimalizaci). Bezproblemova i18n a 
B> sprava obrazku.

B> A pro layouty a skiny se vyuziva prevazne JGoodies. Takze asi tak. 
B> Paklize chcete vytvorit jeden formular s daty, pak ma smysl uvazovat o
B> prime vazbe JGoodies + JTA, nebo Hibernate. Ale kdyz chcete delat vetsi
B> apliakci je dle meho lepsi pouvazovat o nejakem RCP at uz NetBeans, 
B> Eclipse nebo prave Spring.
  
Ahoj,
odpovídám na zprávu z pondělka, 09. října 2006,
kterou Benda Lukas napsal(a) v 11:39:58:
      

  
   Docela rád bych na tohle viděl nějakou ukázku :-(
      

  
   Já tady před nějakým týdnem přesně popsal ve zprávě s předmětem "DB <-> formulář (hibernate,JGoodies Binding,cglib)". Alespoň kdyby jste mi mohl říct, zda je vámi používaný postup, tedy Spring PRC ve výsledku jednodušší než to, co jsem popsal já. Nebo v čem je výhoda.
      

  
--------------------------- Původní zpráva ---------------------------
 Odesilatel: Benda Lukas <[EMAIL PROTECTED]>
    Předmět: Chytre knihy o swingu
      Datum: 9. října 2006, 11:39:58 (GMT +0200)
    Přílohy: <none>
      msgid:[EMAIL PROTECTED]
    
B> V tomhle ohledu zustavam zcela verny springu. A proto pouzivam i
B> Spring-RCP. Builduji si to sam, vzdycky tak jednou za mesic (stahnu z
B> SVN a spustim mavena, uplne jednoduche :)).
      

  
B> Zatim jsem se dostal do faze, ve ktere mi u zchodi komplet cele GUI a
B> jeste dodelavam server. Data Bindig, je resen jako formularove modely.
B> Nakonec vsechno ukladam pres Spring + Hibernate, ale samozrejme by
B> nebylo problem pouzit Spring JPA.
      

  
B> Ze startu mi sice chvili trvalo, nez jsem se do toho dostal. Spoustu
B> veci je nutno pochopit ze zdrojaku, ale kdyz je pochopite, tak to uz jde
B> jak po masle.
      

  
B> Takze ja doporucuju Spring RCP
      

  
B> Lukas "benzin" Benda ([EMAIL PROTECTED];  http://benzin.bloguje.cz)
B> Java a Delphi programator
B> PHP a _javascript_ skrypter
B> Tvurce databazovych aplikaci
B> A "cestinarsky" ignorant
  
      
Ahoj,
odpovídám na zprávu z pátku, 06. října 2006,
kterou URBAN Leos napsal(a) v 15:41:00:
      
          

  
  
      
   Já jsem přesně v tom stejném stavu. Postupně stále zkouším nové a nové postupy, ale žere to dost čas. Ono navíc není řečeno, že i kdyby taková kniha byla a popisovala tam nějaký konkrétní postup, že by ten postup byl nejlepší. Zatím jsem se uchýlil k Hibernate, JPA, JGoodies databinding a občas ještě něco navíc.
      
          

  
  
      
  Však zde napište, co považujete za nejlepší a třeba se najde někdo, kdo navrhne něco lepšího a pro ty další to bude tip, co zase naopak zkusit. 
      
          

  
  
      
--------------------------- Původní zpráva ---------------------------
 Odesilatel: URBAN Leos <[EMAIL PROTECTED]>
    Předmět: Chytre knihy o swingu
      Datum: 6. října 2006, 15:41:00 (GMT +0200)
    Přílohy: <none>
      msgid:[EMAIL PROTECTED]
    
U> Ahoj,
      
          

  
  
      
U> neprimo odkazuji na prispevek Lukase B. s prosbou zda mi nekdo nemuze 
U> doporucit podobne chytre knihy pro Swing?
      
          

  
  
      
U> Nejlepe neco kde by byla rozebrana nejaka aplikace pro praci s daty 
U> (umyslne nepisu databazi protoze bych radsi EJB3 ale to bych asi chtel moc).
      
          

  
  
      
U> Ja jsem stale ve stavu kdy to sice napisu ale na konci mam pocit ze se
U> to melo delat nejak jinak :-(((
      
          

  
  
      
U> Diky a hezky vikend,
U> Leos
      
          

  
  
      
 >> Ja bych spis doporucil knihy o RCP.
 >> Dobre jsou: **Eclipse Rich Client Platform: Designing, Coding, and
 >> Packaging Java(TM) Applications*
      
          


  
  
      
------------------------ Konec původní zprávy ------------------------
      
          

  
  
      
  
      
          



  
------------------------ Konec původní zprávy ------------------------
      

  
  
      


------------------------ Konec původní zprávy ------------------------

  

Odpovedet emailem