GroupLayout, NetBeans a verze Javy

Vývojář je tvor, který by často nejraději používal poslední nástroje či frameworky a nejinak tomu bývá v souvislosti s novými verzemi Javy. Tento fakt však naráží na zavedené zvyklosti a v případě Javy nutnosti podpory starších verzí, které jsou stále hojně rozšířené. Dnes se mi v tomto ohledu povedl poměrně začátečnický kix. Na svém pracovním stroji jsem používal (nyní již skutečně používal) Javu 6.0 a ve vývojovém prostředí NetBeans 5.5.1 vytvářel grafické rozhraní v návrháři GUI. Byl jsem s výsledkem spokojen do té doby, dokud mi nepřišel e-mail o selhání kontinuálního buildu.

Příčina nebyla ani tak v nedostatečné funkčnosti nahrávaných změn do úložiště, jako spíš v GroupLayoutu, který návrhář GUI v NetBeans hojně využívá. Při nainstalované Javě 6.0 použije standardně GroupLayout z JDK, jehož je od verze 6.0 součástí (liší se v package a také trochu v API) . Ano, většina již jistě tuší, kontinuální build probíhal nad JDK 5.0, takže zákonitě selhal. Pokud jste s NetBeans tvořili GUI v Javě 5.0, pravděpodobně víte, že spolu s výslednou aplikací jste dodávali též balík swing-layout-(verze).jar. Součástí tohoto balíku je i GroupLayout, který byl původně vyvíjen právě pro užití v NetBeans mimo standardní JDK.

Pokud se tedy nechcete vzdát Javy 6.0 a zároveň mít generované okna GUI spustitelná pod Javou 5.0, přejděte v NetBeans v hlavní nabídce do nastavení (Tools -> Options), přepněte se do rozšířených předvoleb (tlačítko Advanced Options) a zde ve stromu předvoleb zvolte Editing -> GUI Builder. V seznamu předvoleb po pravé straně pak přepněte předvolbu Layout Generation Style z volby Automatic na Swing Layout Extensions Library. Tím zajistíte, že nově vytvářené grafické rozhraní nebude používat GroupLayout z JDK 6.0, ale použije rozšiřující knihovnu, kterou budete distribuovat společně s aplikací stejně, jako byste ji vyvíjeli nad JDK 5.0.

Globální předvolba bude aplikována pouze na nově vytvářené GUI. V případě, že máte již nějaké vytvořené a potřebovali byste jej zkonvertovat tak, aby používalo Swing Layout Extensions Library, pak se u příslušného formuláře přepněte do návrhového zobrazení a v inspektoru (Inspector), který je standardně umístěn po levé straně okna NetBeans, klepněte na Form (název), kde za (název) si doplňte vámi vytvářený formulář, zvolte místní nabídku a v ní Properties. V otevřeném okně opět naleznete předvolbu Layout Generation Style, kterou můžete přepnout do stavu Swing Layout Extensions Library. NetBeans poté automaticky přegenerují kód.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *