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 e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *