Dane są klasy Pytanie i Odpowiedź. Stwórz klasę PrezenterPytania

Transkrypt

Dane są klasy Pytanie i Odpowiedź. Stwórz klasę PrezenterPytania
Dane są klasy Pytanie i Odpowiedź. Stwórz klasę PrezenterPytania, która będzie rozszerzała klasę
JPanel i będzie odpowiadała za graficzny interfejs umożliwiający prezentację treści pytania i wybór
odpowiedzi. Wykorzystaj następujące komponenty: JLabel, JRadioButton i JCheckBox. Na
potrzeby testowania klasy PrezenterPytania zdefiniuj klasę TesterPytan, która będzie tworzyła okno,
do którego zostanie dodany panel pytania.
1. Do prezentacji treści pytania wykorzystaj komponent
JLabel (etykieta). Tekst widoczny na komponencie można
ustawić już przy wywołaniu konstruktora bądź później
przy użyciu metody setText(tekstEtykiety).
2. Do prezentacji ilustracji pytania możemy także użyć
etykiety. Musimy skorzystać dodatkowo z klas
BufferedImage, ImageIO, ImageIcon. Aby na
komponencie wyświetlać dowolny obraz musimy na
podstawie obiektu klasy BufferedImage utworzyć obiekt
klasy ImageIcon.
BufferedImage obraz=ImageIO.read(ścieżkaDoObrazu);
ImageIcon obrazNaKomponencie=new ImageIcon(obraz);
JLabel ilustracja=new JLabel(obazNaKomponencie);
Ilustracja 1: Okno zawierające
przykładowy panel prezentujący
obiekt klasy Pytanie.
3. Do prezentacji możliwych odpowiedzi na pytanie wykorzystaj obiekty JRadioButton (w
przypadku, gdy możemy zaznaczyć tylko jedną odpowiedź) i JCheckBox (w przypadku gdy
możemy zaznaczyć więcej niż jedną odpowiedź). Utwórz klasę wewnętrzną
PolaWyboruListener, która będzie odpowiedzialna za obsługę zdarzeń związanych z polami
wyboru (zaznaczenie, odznaczenie).
4. Zadeklaruj w klasie PrezenterPytania następujące metody:
a) public void wyczyscOdpowiedzi() - usuwa zaznaczenia wszystkich odpowiedzi,
b) public void zaznaczNieprawidlowe() - zaznacza na czerwono wszystkie nieprawidłowe
odpowiedzi.
Okno Aplikacji – stwórz aplikację okienkową, która będzie umożliwiała pobranie zestawu pytań
zapisanych w pliku tekstowym. Po wczytaniu pliku użytkownik ma mieć możliwość przeglądania
pytań i uzupełniania odpowiedzi. Na zakończenie testu należy wyświetlić liczbę zdobytych przez
użytkownika punktów.
a) Do budowy menu górnego aplikacji wykorzystaj komponenty JMenuBar, JMenu i JMenuItem. W
górnym menu ma znaleźć się m.in.opcja umożliwiająca pobranie danych z pliku.
b) Obiekt JfileChooser reprezentuje okno dialogowe umożliwiające otwarcie pliku. Przykład
użycia:
Interesuje nas sytuacja, w której
JFileChooser fc = new JFileChooser();
int wynik = fc.showOpenDialog(null);
if (wynik == JFileChooser.APPROVE_OPTION) {
File f= fc.getSelectedFile();
//wykonuj operacje na pliku
}
użytkownik zatwierdził wybór
pliku.
c) Do wyświetlania dodatkowych komunikatów możemy użyć okien dialogowych
generowanych przy użyciu statycznych metod klasy JOptionPane. Przykłady użycia:
JOptionPane.showMessageDialog(okno, "Wczytaj zestaw pytań");
JOptionPane.showMessageDialog(okno, "Wczytaj zestaw pytań", "Informacja",JOptionPane.PLAIN_MESSAGE);