Swing ...


Zadanie 25
(5p)

Zaprogramować prosty edytor graficzny składający się z menu rozwijalnego, obszaru rysowania oraz paska stanu.

Opis menu rozwijalnego:

Main
    Clear All - czyszczenie obszaru rysowania,
    Exit - zamknięcie okna i zakończenie działania aplikacji.

Draw
    Figure
         Circle - po wybraniu tej opcji, naciśnięcie klawisza F1 powoduje wykreślenie na obszarze rysowania koła o stałym promieniu, w losowym kolorze wykreślacza. Położenie koła jest określone przez aktualną pozycję kursora myszki (w obrębie obszaru rysowania),

         Rectangle - po wybraniu tej opcji, naciśnięcie klawisza F1 powoduje wykreślenie na obszarze rysowania prostokąt o stałych rozmiarach, w losowym kolorze wykreślacza. Położenie prostokąta jest określone przez aktualną pozycję kursora myszki (w obrębie obszaru rysowania),

         Freehand - po wybraniu tej opcji możliwe jest wykreślenie linii wzdłuż drogi przeciągania kursora myszki.

   Color -
za pomocą JColorChooser możliwe jest wybranie koloru dla wykreślacza w trybie Freehand.


Dodatkowe funkcje edytora:
a. Pasek stanu pokazuje informacje o aktualnym trybie rysowania (Circle/Rect/Freehand) ,
b. Niezależnie od aktualnego trybu rysowania, możliwe jest usunięcie figury (koła lub prostokąta) naciskając przycisk myszki wewnątrz figury z jednoczesnym wciśnięciem klawisza
D (bez Shift),
c. Uniemożliwić zmiany rozmiarów okna.

Przykładowe ekrany:


                        

          


Zadanie 26
(4p)

 
Zaprogramować aplikację zawierającą pole teksowe typu
JTextField i listę typu JList - umieszczoną w panelu przewijanym typu JScrollPane. Wpisanie tekstu do pola tekstowego i naciśnięcie ENTER powoduje jego umieszczenie na liście w odp. miejsce zgodnie z porządkiem leksykograficznym. Napisy na liście nie mogą się powtarzać. Zaznaczenie jednego (lub kilku) napisu na liście wyprowadza odp. informacje na konsolę. Dwu-kliknięcie myszką na zaznaczonym napisie na liście powoduje usunięcie napisu z listy.


Przykładowe ekrany: