Ćwiczenie 1
Celem tego ćwiczenia jest otworzenie prostego okna Swing i zapoznanie z menadżerem rozmieszczenia komponentów BorderLayout(). Szerszy poradnik na temat menadzerów rozmieszczenia komponentów dostepny jest pod adresem http://download.oracle.com/javase/tutorial/uiswing/layout/visual.html.
Poniższy przykład celowo jest realizowany "krok po kroku", aby utrwalić tworzenie nowych obiektów itp...
1. Utworzyć nowy Projekt Java, a w nim klasę dziedziczącą z JFrame, zawierającą metodę main() (analogicznie jak na poprzednich zajęciach);
2. Sprawić, aby okno się wyświetlało i zamykało: - ustawienie rozmiaru np. metodą setSize(400,500), lub setBounds(...), - ustawienie widzialności: setVisible(true); - utworzenie obiektu w metodzie main() - w Swingu do zakończenia programu po zamknięciu okna stosuje się zwykle metodę: setDefaultCloseOperation(EXIT_ON_CLOSE);
3. Zdefiniować pięć zmiennych klasy JPanel o nazwach p1, p2, p3, p4, p5, następnie utworzyć w konstruktorze pięć obietków JPanel.
4. Następnie również w konstruktorze wywołać metodę: setLayout(new BorderLayout());
po czym dodać do okna poszczególne panele, wyszczególniając ich położenie:
add(BorderLayout. EAST, p3); add(BorderLayout.WEST, p4); add(BorderLayout.NORTH, p1); add(BorderLayout.SOUTH, p2); add(BorderLayout.CENTER, p5);
5. Panele pozwalają na "wydzielenie" fragmnetu okna oraz same stanowią "pojemnik" (ang. Cointainer), do którego można dodawać inne komponenty. Aby uwidocznić rozmieszczenie paneli wewnątrz okna, można zmienić kolor tła każdego z paneli, np.:
p1.setBackground(Color.GREEN); p2.setBackground(Color.gray); p3.setBackground(new Color(0,0,200)); p4.setBackground(new Color(150,0,0)); p5.setBackground(new Color(250,255, 255));
Powinno to dać efekt podobny do pokazanego poniżej:
6. Na powyższym rysunku oprócz tła paneli wyświetlane są etykiety JLabel, które można dodać w następujący sposób:
p1.add(new JLabel("Panel 1")); p2.add(new JLabel("Panel 2")); p3.add(new JLabel("Panel 3")); p4.add(new JLabel("Panel 4")); p5.add(new JLabel("Panel 5"));
Dzięki korzystaniu z menadżera rozmieszczenia komponentów, po zmianie rozmiaru okna rozmiar i położenie komponentów będzie się automatycznie dostosowywać...
Submenu
|