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.
Otwórzmy okienko konsoli (zapewnimy „gadulstwo” naszej aplikacji) Window -> Show View -> Console
Po poprawkach nasze środowisko wygląda tak
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.
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.
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.
Całość wygląda tak.
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)
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.
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).
I wpisujemy : columns(ilość kolumn) 1, rows(ilość rzędów) 2 - tak jak na obrazku
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ł.
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.
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.
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.
A całość wygląda tak.
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