Zadanie do wykoannia

Do wyboru są dwa zestawy zadań: zadania 1-3 (łatwiejszy) oraz zadania 4-6 (trudniejszy).
Wykonujemy wybrany przez siebie zestaw. Tylko JEDEN!
I tylko zadania z jednego z zestawów będą brfane pod uwagę przy punktacji.
  1. Właściwości komponentów - 1 punkt
  2. Rysowanie - 1 punkt
  3. Testowanie rozkładów - 3 punkty
  4. Częstotliwość występowania liter w tekście - wizualizacja (max 6 p.)
  5. Używanie rozkładów (max  6 punktów)
  6. Nieco bardziej rozwinięte GUI (max. 8 punktów) 




Zadanie 1. Właściwości komponentów

Napisać aplikację, która w oknie JFrame umieszcza edytor tektów (JTextArea) i ustala kolor tła i pisma edytora na wybrany kolor oraz pismo.
Przykładowo: kolor tła niebieski, kolor pisma - żółty, pismo: Dialog, wytłuszczona kursywa, rozmiar 14.



Zadanie 2. Rysowanie

W oknie aplikacji umieścić panel i narysować  jego przekątne.
Zmiany rozmiaru okna mają zmieniać rozmiary panelu i powodować właściwe odrysowywanie przekątnych.



Zadanie 3. Testowanie rozkładów

Pięć przycisków z napisami "Przycisk 1" - "Przycisk 5" pokazać w oknie:
a) w układzie BorderLayou
b) w układzie FlowLayout
c) w układzie FlowLayout z wyrównaniem do lewej
d) w układzie FlowLayout z wyrównaniem do prawej
e) w układzie GridLayout jako jeden wiersz
f) jako jedną kolumnę
g) jako tablice (3, 2)

Proszę napisać to jako jedną aplikację, w której sposób układania komponentów
określany jest w dialogu wejściowym poprzez  podanie odpowiedniej litery (A-G).



Zadanie 4. Częstotliwość występowania liter w tekście - wizualizacja

Napisać aplikację, która wczytuje plik tekstowy, którego podano jako argument programu po czym zlicza częstotliwość wystąpienia poszczególnych liter w pliku i podaje wynik graficznie - w postaci wykresu słupkowego, na którym szerokość słupków jest proporcjonalna do częstości występowania liter, przy czym minimalna częstość jest oznaczana kolorem szarym, maksymalna - czerwonym, a posrednie - niebieskim. Za słupkami na wykresie pokazać liczby, oznaczające odpowiednie częstości. 
Litery na wykresie powinny być uporządkowane alfabetycznie.

Przetestować aplikację na  pliku tekstowym, zawierającym duży fragment polskiego tekstu.

Rozwiązanie zadania winno spełniać następujące warunki:
  1. zmieniać szerokość słupków wraz z rozmiarami okna aplikacji (wizualizacja najczęsciej występującej litery powinna zawsze mniej więc pokrywać aktualną szerokość okna),
  2. zapewnić przewijanie pionowe, gdy liczba "wierszy" wizualizacji nie mieści się w oknie (pomoc: wykorzystać JScrollPane),
  3. uwzględniać porządek polskich liter (pomoc: wykorzystać klasę Collator z pakietu java.text).

r

Uwaga: w "Materiałach" zalączam plik tekstowy do testowania.


Zadanie 5. Używanie rozkładów

Napisać aplikację, która pokazuje w oknie następujące elementy:

 Wygląd okna przedstawia poniższy rysunek:

r

Zachowanie komponentów w oknie winno spełniać następujące warunki:

 Przykład okna aplikacji ze zwiększonymi obrazkami:

r  
 


Uwaga; obrazki do testowania załączam w Materiałach.


Zadanie 6. Nieco bardziej rozwinięte GUI

Napisać aplikację, która prezentuje okno GUI, zawierające etykiety i pola tekstowe, Etykiety powinny być skojarzone  z polami tekstowymi za pomocą mnemonik, które wprowadzają kursor w dane pole tekstowe. Na końcu każdego "wiersza" etykieta-pole tekstowe winna znajdować się owalna etykieta z odpowiednio rozmieszonym napisem (zob.dalej), po wskazaniu której myszką uzyskamy podpowiedź dotyczącą sposobu wpisywania danych.
Pokazuje to poniższy rysunek:
r
 
Etykiety, skojarzone z tekstem:
Pola tekstowe:

Etykiety owalne, służące do otwierania podpowiedzi:

Tekst pomocy: