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);