Quiz-Programm

P333T

Mitglied
Hey Leute :)

Kann mir jemand mal ein Quellcode oder einfach gleich das ganze Programm geben...
Ich brauche eine Quizprogramm, einfach mit ein paar Buttons und einem exit Button. Zudem möchte ich gerne die Antworten und Fragen in ein Textdokument schreiben, damit es daraus gelesen wird.

Kann mir jemand helfen? :rtfm:
 

P333T

Mitglied
gut dann eben eine Frage, ich binn jetzt soweit das ich nur noch einen Button hinzufügen möchte der das Programm schließt, wie bekomme ich das hin?
 

P333T

Mitglied
Da möchte ich gerne noch einen Exit Button haben, also oben rechts...

Java:
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Random;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;


public class frmMain extends JFrame{

	/**
	 * @param args
	 */
	//Antwort Schaltflächen
	JButton cmdAnsw1, cmdAnsw2, cmdAnsw3, cmdAnsw4;
	//Textfelder
	JLabel lblInfo, lblFrage;
	//dynamisches Array - schon gestellte Fragen werden abgefragt
	ArrayList <Integer> asked;
	//count - Nr. der aktuell gestellten Frage
	//countRight - Anzahl der richtigen Fragen
	//questMax - max. gestellte Fragen
	int count, countRight, questMax;
	//Klasse mit Fragen/Antworten
	clsQuestions quest;
	int currentQuestion;
	
	
	public frmMain(){
		//Bildschirmgröße abrufen
		Dimension d = getToolkit().getDefaultToolkit().getScreenSize();
		//Größe und Position des Fensters festlegen
		this.setSize(d);
		this.setLocation(0,0);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setResizable(false);
		this.setTitle("Quiz");
		
		this.setUndecorated(true);
		
		
		//Init
		asked = new ArrayList<Integer>();
		quest = new clsQuestions();
		
		count = 0;
		countRight = 0;
		questMax = 5; 
		
		lblInfo = new JLabel();
		lblFrage = new JLabel();
		
		cmdAnsw1  = new JButton();
		cmdAnsw2  = new JButton();
		cmdAnsw3  = new JButton();
		cmdAnsw4  = new JButton();
		
		//Namen der Buttons setzen
		cmdAnsw1.setName("0");
		cmdAnsw2.setName("1");
		cmdAnsw3.setName("2");
		cmdAnsw4.setName("3");
		
		//Aktion beim Klicken hinzufügen
		cmdAnsw1.addActionListener(new ButtonListener(this));
		cmdAnsw2.addActionListener(new ButtonListener(this));
		cmdAnsw3.addActionListener(new ButtonListener(this));
		cmdAnsw4.addActionListener(new ButtonListener(this));
		
		//Buttons auf dem Formular hinzufügen
		getContentPane().setLayout(null); // freies Layout
		getContentPane().add(cmdAnsw1);
		getContentPane().add(cmdAnsw2);
		getContentPane().add(cmdAnsw3);
		getContentPane().add(cmdAnsw4);
		getContentPane().add(lblInfo);
		getContentPane().add(lblFrage);
	
		//Größe und Position der Buttons festlegen
		cmdAnsw1.setBounds(0, d.height - 200 , d.width / 2 - 5 , 50);
		cmdAnsw2.setBounds(d.width / 2 + 5, d.height - 200 , d.width / 2 - 5, 50);
		cmdAnsw3.setBounds(0, d.height - 130 , d.width / 2 - 5 , 50);
		cmdAnsw4.setBounds(d.width / 2 + 5, d.height - 130 , d.width / 2 - 5, 50);
		
		lblInfo.setBounds(10,10,d.width - 10, 32);
		lblInfo.setFont(new Font("Arial", 24,28));
		lblInfo.setText("lblInfo");
		
		lblFrage.setBounds(10,80,d.width - 10, 72);
		lblFrage.setFont(new Font("Arial", 24,34));
		lblFrage.setText("lblFrage");
		//Frage aufrufen
		NextQuestion();
	}
	
	public void Click(String Antwort){
		/*Das Array Lsg. enthält die zugehörige richtige Antwort zur Frage
		das zuletzt hinzugefügte Object in der ArrayList asked enthält den Index
		der aktuell gestellten Frage. "asked.size()" ruft die Anzahl der vorhanden
		Objekte in der ArrayList ab. "-1" da bei 0 angefangen wird. "Integer.parseInt"
		wandelt einen String in einen int Wert um, um ihn vergleichen zu können.*/
		if (clsQuestions.lsg[asked.get(asked.size()-1)] == Integer.parseInt(Antwort)) {
			countRight++;
			//ab hier
			JOptionPane.showMessageDialog(null, "Richtig");
		}else{
			JOptionPane.showMessageDialog(null, "Falsch, das wäre richtig gewesen: "
					+ clsQuestions.antw[currentQuestion][clsQuestions.lsg[asked.get(asked.size()-1)]]);
			//bis hier
		}
		
		//Sind die Fragen gestellt, erscheint eine Auswertung und es wird von vorne begonnen
		if(count == questMax){
			JOptionPane.showMessageDialog(null, "Sie haben " + countRight + " von " + questMax + " Fragen richtig beantwortet." , "Fertig", JOptionPane.PLAIN_MESSAGE);
			asked.clear();
			count = 0;
			countRight = 0;
		}
		NextQuestion();
	}
	
	public void NextQuestion(){
		int i;
		//Zufallszahlengenerator wird initialisiert
		Random r = new Random();
		//Die Schleife wird solange aufgerufen, bis eine Frage gefunden wird, die noch nicht gestellt wurde.
		//ACHTUNG: Gefahr einer Endlosschleife (wenn weniger Fragen vorhanden sind als questMax)
		do{
			i = r.nextInt(clsQuestions.fragen.length);
			//überprüft ob die Frage schon gestellt wurde
		}while(asked.contains(i) == true);
		SetQuestion(i);
	}
	
	public void SetQuestion(int i){
		//Setzt die Texte der Frage auf der Oberfläche
		cmdAnsw1.setText(clsQuestions.antw[i][0]);
		cmdAnsw2.setText(clsQuestions.antw[i][1]);
		cmdAnsw3.setText(clsQuestions.antw[i][2]);
		cmdAnsw4.setText(clsQuestions.antw[i][3]);
		lblFrage.setText(clsQuestions.fragen[i]);
		count++;
		lblInfo.setText("Frage " + count + " von " + questMax + "\n"+ ". Klicken Sie auf das Verb, welches in die Lücke muss. (Mixed Tenses)");
		//fügt die Frage als gestellt hinzu
		asked.add(i);
		currentQuestion = i;
	}

	
	public class ButtonListener implements ActionListener{
		frmMain frm;
		
		public ButtonListener(frmMain f){
			frm = f;
		}
		
		public void actionPerformed(ActionEvent ae) {
			//tempButton verweist auf den geklickten Button
			JButton tempButton = (JButton) ae.getSource();
			frm.Click(tempButton.getName());
			return;
		}
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		frmMain frm = new frmMain();
		frm.setVisible(true);
	}

}
 
T

Tomate_Salat

Gast
Das Prinzip kennst du doch:
> Button erstellen
> Button positionieren
> auf Button einen Listener registrieren welcher dann System.exit aufruft.

Dann solltest du dir noch die Konventionen in Java anschauen:
Methoden, Felder, Variablen --> lowerCamelCase
Klassen --> UpperCamelCase
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Jackii dispatchUncaughtException in Quiz Spiel mit GUI Layout Spiele- und Multimedia-Programmierung 6
M Logik für ein Quiz Spiele- und Multimedia-Programmierung 7
K Quiz mit Schleife Spiele- und Multimedia-Programmierung 11
H Quiz als Studienarbeit Spiele- und Multimedia-Programmierung 22
Y Quiz Spiel Spiele- und Multimedia-Programmierung 1
S Ratespiel (Quiz) - Falsche Antwort -> Wiederholung Spiele- und Multimedia-Programmierung 6
W Quiz mit Videos erstellen Spiele- und Multimedia-Programmierung 4
Leon.tr3x Mein erstes Programm/Spiel Spiele- und Multimedia-Programmierung 10
P Wie kann ich einem Programm hinter eine GUI verstecken? Spiele- und Multimedia-Programmierung 12
P Programm welches auf CMD basirende Programme öffnet (Notepad), sucht , ausführt und compiliert Spiele- und Multimedia-Programmierung 23
A Code in Programm wandeln, wie? Spiele- und Multimedia-Programmierung 3
J Pong Programm Spiele- und Multimedia-Programmierung 1
J Programm "fehlerhaft" als .jar Spiele- und Multimedia-Programmierung 4
P schach programm- wo anfangen? Spiele- und Multimedia-Programmierung 13
J Programm kann Audio Datei nicht finden Spiele- und Multimedia-Programmierung 7
F Klausurersatz: Ein Java-Programm erstellen und dieses präsentieren. Spiele- und Multimedia-Programmierung 2
J programm mit java-plugin Spiele- und Multimedia-Programmierung 2
B Mein Programm reagiert nicht auf den Tasstendruck Spiele- und Multimedia-Programmierung 1
C Mein Programm wird sofort terminated Spiele- und Multimedia-Programmierung 8
A Minecraft Minecraft, Programm funktioniert nur in Eclipse richtig Spiele- und Multimedia-Programmierung 24
F Screenshot Programm nach Exception weiterlaufen lassen? Spiele- und Multimedia-Programmierung 9
Q AudioClip hängt Programm auf Spiele- und Multimedia-Programmierung 7
S Wolken Bild/Grafik vom Programm erstellen lassen Spiele- und Multimedia-Programmierung 11
C Minecraft Minecraft-Programm: Server anpingen Spiele- und Multimedia-Programmierung 2
J Suche 3D Programm für jMonkeyEngine Spiele- und Multimedia-Programmierung 5
S Kann mir wer verraten wie mann ein java programm Starten? Spiele- und Multimedia-Programmierung 4
U Value in Programm ändern? Spiele- und Multimedia-Programmierung 5
F Programm für Bildbearbeitung gesucht: Skalieren und Speichern Spiele- und Multimedia-Programmierung 6
S Programm hängt sich auf wenn Lied abspielt Spiele- und Multimedia-Programmierung 4
D VOte programm aber wie ?? Spiele- und Multimedia-Programmierung 8
F Programm mit Java3D unter Linux laufen lassen Spiele- und Multimedia-Programmierung 3
S Java 3D Szenegraph programm Spiele- und Multimedia-Programmierung 3
W Programm hängt manchmal Spiele- und Multimedia-Programmierung 5
G AffineTransform macht programm immer langsamer Spiele- und Multimedia-Programmierung 3
M warum funkt dieses Programm nicht? (Menübar, Java 3D) Spiele- und Multimedia-Programmierung 2
G Simples Programm sollte laufen? Spiele- und Multimedia-Programmierung 8
A Programm für ein Backgammon (tavli) Spiel Spiele- und Multimedia-Programmierung 3

Ähnliche Java Themen

Neue Themen


Oben