Witam wszystkich.
Dzisiaj zajmiemy się manager’ami rozkładu elementów naszej aplikacji. Ale najpierw trochę uporządkujemy sobie nasze środowisko Eclipse.
Pozamykajmy krzyżykiem wszystko co zaznaczyłem czerwoną obwódką tak jak na rysunku.
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/539/dec0507b623780d5c81f76f1b6081b8c.jpg)
Otwórzmy okienko konsoli (zapewnimy „gadulstwo” naszej aplikacji) Window -> Show View -> Console
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/539/31b0340f4dcc5b61e2b88d13940c14e9.jpg)
Po poprawkach nasze środowisko wygląda tak
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/539/b75181928d8602c269dd0ec134937737.jpg)
Teraz zajmiemy się budowaniem naszej aplikacji zaczynając od manager’ów rozkładu. Klikając na naszą formatkę zauważymy, że w zakładce Structure są dwie pod zakładki: „Components”(jest to zakładka naszych komponentów, które będziemy kładli na formatke) i „Properties” (Zakładka właściwości zaznaczonego komponentu na formatce). Eclipse sam położył pierwszy element na formatkę o nazwie „contentPane” (jest to zwyczajny panel jakich później będziemy używać) z domyślnie włączonym menager’em „java.awt.BorderLayout”.Jest to menager o pięciu polach: lewym, prawym, górnym, dolnym i środkowym.
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/539/91e83f52d8810d0a1ad8e54b04830ccb.jpg)
My wykorzystamy tylko trzy z pięciu pól – pole: górne, dolne i środkowe. W tym celu wyłączymy menagera. Z zakładki wybrać „Structure -> Properties -> Layout (kliknąć na czarny trójkącik na końcu) -> Absolute layout” po tej operacji menager dla tego panelu jest wyłączony.
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/539/5e43e55becbc362c9762aa4ffed29161.jpg)
Położymy trzy panele(JPanel) z zakładki Palette. Kliknąć(LPM) na JPanel (powinien się podświetlić na biało) a następnie kliknąć(LPM) na dowolne pole na formatce. I tak trzy razy.
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/539/dbc1eb69893b5f0e4d609e3affa82ee9.jpg)
Całość wygląda tak.
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/539/6672da0d1ea0bd07d2d6b86df0372930.jpg)
Teraz przywracamy menagera java.awt.BorderLayout przez kliknięcie na „Structure -> Properties -> Layout (kliknąć na czarny trójkącik na końcu) -> BorderLayout”. I zaznaczamy pierwszy panel o nazwie „panel”. Klikamy na zaznaczoną czerwoną obwódką ikonkę tak jak na obrazku (poszerzenie menu)
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/539/6b694d24320ee1ce455a6d7fdb670511.jpg)
Wybieramy właściwość komponentu o nazwie Layout przechodzimy do Constraints(kliknąć na czarny trójkącik na końcu) i kliknąć North. Następnie wybieramy właściwość o nazwie preferredSize (kliknąć mały klawisz z trzema kropkami). Pokaże się okienko, gdzie wpisujemy tylko wysokość(Height) ja wpisałem 50 pixeli a następnie kliknąć klawisz OK. Szerokości nie podajemy bo menager dobierze ja sobie sam.
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/539/8e0e5f6e8e62d1b1d2c2bad500d349f6.jpg)
Zaznaczamy trzeci panel o nazwie „panel_2”. Klikamy na zaznaczoną czerwoną obwódką ikonkę tak jak poprzednio (poszerzenie menu) .
Wybieramy właściwość komponentu o nazwie Layout przechodzimy do Constraints(kliknąć na czarny trójkącik na końcu) i kliknąć South. Następnie wybieramy właściwość o nazwie preferredSize (kliknąć mały klawisz z trzema kropkami). Pokaże się okienko, gdzie wpisujemy tylko wysokość(Height) ja wpisałem 50 pixeli a następnie kliknąć klawisz OK. Szerokości nie podajemy bo menager dobierze ja sobie sam.
No i zaznaczamy drugi panel o nazwie „panel_1”. Klikamy na zaznaczoną czerwoną obwódką ikonkę tak jak poprzednio (poszerzenie menu) .
Wybieramy właściwość komponentu o nazwie Layout przechodzimy do Constraints(kliknąć na czarny trójkącik na końcu) i kliknąć Center. Tu nie wybieramy wysokości ani szerokości, bo to zrobi za nas menager. W tym panelu zmienimy menager’a na „java.awt GridLayout”(to taka tabelka z rzędami i kolumnami).
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/539/6e56f7daaed71c6c5cf329626b8b96cd.jpg)
I wpisujemy : columns(ilość kolumn) 1, rows(ilość rzędów) 2 - tak jak na obrazku
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/539/569e26ae5a600cb0c5107f04e09126d8.jpg)
Z zakładki Palette klikamy na komponent JScrollPane i kładziemy na „panel_1” i powtarzany to jeszcze raz (muszą być na panelu jeden nad drugim). W zakładce „Structure -> Components” klikając(LPM) na dowolny komponent i trzymając go myszką można go dowolnie przesuwać i kłaść na innym komponencie, a klikając(PPM) mamy podmenu gdzie jedna z opcji to usunięcie(Delete) tego komponentu z formatki. Teraz na formatce na komponent o nazwie „scrollPane” kładziemy komponent JTextArea a następnie klikając na położony komponent o nazwie „textArea” i trzymając go tak przesuwamy po „scrollPane” aby zakrył komponent na, który go położyliśmy(komponent „textArea” wypełnia komponent „scrollPane”). Powtarzamy to dla drugiego komponentu „scrollPane_1” tak, żeby komponent „textArea_1” go zakrył.
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/539/4f4dadf59a240256de8f30f600040a33.jpg)
W właściwościach komponentów: „textArea” i „textArea_1” o nazwie editable od ptaszkować kwadracik tak aby ta właściwość była typu false .
Teraz przechodzimy do panelu pierwszego o nazwie „panel” zaznaczamy go i zmieniamy menager’a na „java.awt GridLayout” z columns(ilość kolumn) 4, rows(ilość rzędów) 1 , hgap(odstęp poziomy) 20 . Następnie kładziemy na tym panelu komponenty: JComboBox, JComboBox, JButton, JButton – menager sam je ładnie porozkłada.
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/539/60c9c86b180ed2750f70d61b1527c0f0.jpg)
Zmieniamy właściwość komponentu „panel” o nazwie border klikając na przycisk z trzema kropkami i wybierając EmptyBorder. Tu ustawić własność Top na 10 pixeli, oraz własność Button na 10 pixeli i kliknąć klawisz OK.
Przechodzimy do dolnego panelu o nazwie „panel_2” zaznaczając go i zmieniamy menager’a na „java.awt.BorderLayout”. Na ten panel kładziemy komponent JLabel i w właściwościach tego komponentu o nazwie Constraints zaznaczyć Center .
Właściwość o nazwie horizontalAlignment ustawić na CENTER.
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/539/55e814e12bee5722e0ccdfa894b213ac.jpg)
W właściwościach komponentów: „textArea” i „textArea_1” o nazwie border wybrać TitledBorder i wpisać w Title: odbiór i wysyłka. Zatwierdzić klawiszem OK.
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/539/061c3d0558843b6a103713a756a6eca9.jpg)
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/539/1983d52ec403cd532cf09acbb37905aa.jpg)
A całość wygląda tak.
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/539/a6bacede34dcbd8e073428e03930ae80.jpg)
W następnym spotkaniu budując nasza aplikację zajmiemy się już pisaniem funkcji i procedur portu RS232, podłączeniem odpowiedniej biblioteki (będzie trochę mniej klikania a więcej pisania).
Piotr