-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGRAFIK.java
157 lines (125 loc) · 4.5 KB
/
GRAFIK.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
import java.awt.*;
import java.awt.event.*;
import java.awt.Dimension;
import java.util.ArrayList;
class GRAFIK
{
Frame frame;
HAUPTMENUEGRAFIK hauptmenue;
AUSWAHLGRAFIK auswahl;
// Weite des Bildschirms in Pixel
int breite;
// Hoehe des Bildschirms in Pixel
int hoehe;
QUIZ quiz;
// ArrayList mit allen Kategorien
ArrayList<KATEGORIE> kategorien;
// ArrayList mit vom Spieler ausgewaehlten Kategorien
ArrayList<KATEGORIE> ausgewaehlteKat;
// Verteilung der Fragen auf Schwierigkeitsgrade
int [] anzahlFragen;
GRAFIK(Frame f, QUIZ quiz, int[] anzahlFragen)
{
frame = f;
this.quiz = quiz;
this.anzahlFragen = anzahlFragen;
kategorien = quiz.kategorien;
// neues Fenster erstellen
frame.setLocation(0, 0);
frame.setVisible(true);
frame.setLayout(null);
FrameGroesseAnpassen();
HauptmenueHinzufuegen();
Schließen();
}
/**
* Findet Bildschirmgroesse heraus und passt Fenster-Groesse entsprechend an
*/
void FrameGroesseAnpassen()
{
// Abmessungen des Bildschirms herausfinden
Dimension screenSize = new Dimension(Toolkit.getDefaultToolkit().getScreenSize());
breite = screenSize.width;
hoehe = screenSize.height;
// Fenster-Groesse = Bildschirm-Groesse setzen
frame.setSize(screenSize);
}
/**
* Erstellt eine neue Hauptmenue-Oberflaeche, die sich durch Druecken eines
* Buttons selbst uebermalt und eine Quizgrafik-Oberflaeche erstellt
*/
void HauptmenueHinzufuegen()
{
hauptmenue = new HAUPTMENUEGRAFIK(frame, breite, hoehe);
// Wenn Button gedrueckt wird, werden Frame-Inhalte geloescht und die Kategorien-Auswahl angezeigt
hauptmenue.start.addMouseListener(new MouseListener()
{
public void mousePressed(MouseEvent me) {}
public void mouseReleased(MouseEvent me) {}
public void mouseClicked(MouseEvent me)
{
frame.removeAll();
AuswahlgrafikHinzufuegen();
}
public void mouseExited(MouseEvent me) {}
public void mouseEntered(MouseEvent me) {}
});
}
/**
* Erstellt eine neue Auswahlgrafik-Oberflaeche und zeigt erste Frage an
*/
void AuswahlgrafikHinzufuegen()
{
auswahl = new AUSWAHLGRAFIK(frame, breite, hoehe, kategorien);
// Wenn Start Button gedrueckt wird, werden Frame-Inhalte geloescht und die Fragen angezeigt
auswahl.start.addMouseListener(new MouseListener()
{
public void mousePressed(MouseEvent me) {}
public void mouseReleased(MouseEvent me) {}
public void mouseClicked(MouseEvent me)
{
// Abspeicherung der vom Spieler ausgewaehlten Kategorien
ausgewaehlteKat = auswahl.CheckboxenAuslesen();
if (ausgewaehlteKat.size() != 0)
{
frame.removeAll();
QuizgrafikHinzufuegen();
}
else
{
Label auswaehlen = new Label();
auswaehlen.setSize(breite, hoehe/20);
auswaehlen.setAlignment(Label.CENTER);
auswaehlen.setLocation(0, auswahl.start.getY() + hoehe/10);
auswaehlen.setFont(new Font("new", Font.PLAIN, breite/75));
auswaehlen.setText("Bitte mindestens eine Kategorie auswählen :)");
auswaehlen.setVisible(true);
auswaehlen.setEnabled(true);
frame.add(auswaehlen);
}
}
public void mouseExited(MouseEvent me) {}
public void mouseEntered(MouseEvent me) {}
});
}
/**
* Erstellt eine neue Quizgrafik-Oberflaeche und zeigt erste Frage an
*/
void QuizgrafikHinzufuegen()
{
QUIZGRAFIK q = new QUIZGRAFIK(frame, breite, hoehe, quiz, ausgewaehlteKat, anzahlFragen);
}
/**
* Fenster mit "X" schließen können
*/
void Schließen()
{
frame.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(1);
}
});
}
}