Programowanie obiektowe - JAVA
Informacje ogólne > Laboratorium 3 > Ćwiczenie 1

Ć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