NetBeans 6.9.1 + look&feel komponenty na palette - jak zainstalować

0

Witam!

Chciałbym dodać do NB nowe komponenty. Nie wiem niestety jak to zrobić. Otóż znalazłem paczkę, która mi się podoba, tak więc zassałem ją (jar) z tej strony http://personales.ya.com/nimrod/index-en.html.

Następnie dodaję ją do pallete, do libraries i classpath. Owszem komponenty ukazują się na palecie, jednak wszytkie mają znak zapytania zamiast miniaturki. Kiedy chcę drag&drop komponenty na formę, wówczas ukazuje mi się komunikat który widać na screenie. Jak to zrobić, żeby działało?

PS. na screenie widać, że biblioteka dodana jest do projektu, do classpath i palette. Komunikat który tam też widnieje, jest właśnie tym komunikatem który się ukazuje przy próbie użycia (drag&drop na formę) komponentu.

Z góry dziękuję za pomoc.

qttemphp4248.th.png

1

Masz wstawić linijkę:

UIManager.setLookAndFeel( new com.nilo.plaf.nimrod.NimRODLookAndFeel());

Przed stworzeniem GUI. Gdy wrzucę na sam początek (do maina) to nie zadziała, zadziałało dopiero w metodzie startup() z podklasy SingleFrameApplication - to ta klasa którą NB na początku automatycznie tworzy.

LAF zadziała dla komponentów, które zostaną utworzone po ustawieniu tego LAFa. Z tego co wyczytałem możliwe jest ustawienie różnych LAFów do różnych komponentów - po prostu odpalaj UIManager.setLookAndFeel() przed tworzeniem każdego komponentu. W NetBeansie jest opcja Customize Code, możesz tam wpisać w sekcji pre-cretion:

try {
UIManager.setLookAndFeel(...);
} catch (Exception ex) {};

W sumie to nie wiem czy z poziomu edytora w NetBeansie da się łatwo wyklikać LAFy dla poszczególnych komponentów, ale raczej nie, gdyż mieszanie LAFów jest odradzane, może to powodować konflikty.

Przejrzyj sobie sekcję FAQ na tej stronie co sam podałeś. Stawiam piwo, że nie czytałeś tego dokładnie :P Inaczej nie robiłbyś tego w ten sposób.

0

geeeee, faktycznie.

Dzięki za pomoc, faktycznie, wstawiając tą linijkę wszytko zaczyna grać. Jestem świeży w NB i java, właściwie to zaliczam przesiadke z VisualSudio+.NET na jave. Nie miałem pojęcia, że design kontrolek istniejących można zmienić "programowo", myślałem, że po prostu co desing to zupełnie nowy komponent, dlatego też chciałem widzieć to z graficznego. Faq czytać czytałem, jednak zignorowałem to, jako że nie miało to nic wspólnego z graficznym edytorem;) Teraz widzę, że używając zwykłych komponentów które działają z graficznym, będę mógł je w sumie customizować do woli (jeżeli nie to mnie poprawić proszę);) Dziękuję!

0

No myślę, że zignorowałeś też kolejną rzecz, rzucającą się w oczy :]

Gdy otworzysz klasę wygenerowaną w Matisse (czyli graficznym edytorze GUI w NetBeans) zobaczysz komentarz "Generated code" i wyszarzony kod, którego NB zabrania edytować. Pod żadnym pozorem nie usuwaj tego komentarza (wtedy NetBeans zignoruje ten kawałek kodu i graficzny edytor nie będzie poprawnie działał), ani nie edytuj tego kodu z zewnątrz (bo ten kod zostanie zregenerowany przy ładowaniu go w NB). Cały layout znajduje się w plikach .form o nazwie takiej samej jak plik .java. Gdy chcesz wstawić swój kod generujący komponenty musisz zrobić to za pomocą Matisse i okienek Customize code. Te pola do wpisywania własnego kodu są porozrzucane po różnych okienkach z propertiesami dlatego polecam intensywną zabawę z narzędziami w Matisse.

NetBeans ZTCW nie ma opcji generowania plików .form z plików .java z kodem źródłowym (czyli swoistego reverse-engineeringu), a więc staraj się, aby te pliki były wzajemnie zsynchronizowane. NetBeans generuje dopiero kod Javowy z tych plików .form. Te pliki nie są już potem pakowane do JARa, ponieważ nie są używane przy uruchamianiu programu.

W VS.NET pewnie używałeś jakichś XAMLi czy czegoś podobnego, czyli coś w stylu plików .form tyle, że wspierane przez sam framework i tam rzeczywiście layout był oddzielony od logiki. W sumie to się nie orientuję w .NETu (odmiana celowa :P ).

1 użytkowników online, w tym zalogowanych: 0, gości: 1