Hallo! Ich hab mir nen kleines Quiz gebastelt mit blueJ.
Ich hab im Applet 5 Buttons für: Antwort A, B, C, D und nächste Frage.
Diese werden mir jedoch die ganze Zeit angezeigt. Ich würde gerne in einer Methode (z.b. in Frage 1) nur die Antwort Buttons haben und nicht den nächste Frage-Button. Außerdem hab ich noch wenn eine frage richtig oder falsch ist eine methode wo er nur schreibt "richtig" oder "falsch". da sollte nur der button für nächste frage erscheinen und nicht die antwort-buttons. muss ich die buttons dann lok. in den methoden definieren, wenn ja wie und sonst wie geht das?
hab hier noch den quelltext vom applett und nen beispiel aus der klasse:
APPLET
KLASSE
funktionieren tut es 
Ich hab im Applet 5 Buttons für: Antwort A, B, C, D und nächste Frage.
Diese werden mir jedoch die ganze Zeit angezeigt. Ich würde gerne in einer Methode (z.b. in Frage 1) nur die Antwort Buttons haben und nicht den nächste Frage-Button. Außerdem hab ich noch wenn eine frage richtig oder falsch ist eine methode wo er nur schreibt "richtig" oder "falsch". da sollte nur der button für nächste frage erscheinen und nicht die antwort-buttons. muss ich die buttons dann lok. in den methoden definieren, wenn ja wie und sonst wie geht das?

APPLET
Java:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Oberfläche extends JApplet implements ActionListener
{
Quiz quiz1;
Button btnA;
Button btnB;
Button btnC;
Button btnD;
Button btnNächsteFrage;
public void init()
{
quiz1 = new Quiz();
btnA = new Button("Antwort A");
btnB = new Button("Antwort B");
btnC = new Button("Antwort C");
btnD = new Button("Antwort D");
btnNächsteFrage = new Button("Nächste Frage");
getContentPane().setLayout(null);
getContentPane().add(btnA);
getContentPane().add(btnB);
getContentPane().add(btnC);
getContentPane().add(btnD);
getContentPane().add(btnNächsteFrage);
btnA.setBounds(35,440,100,50);
btnA.addActionListener(this);
btnB.setBounds(145,440,100,50);
btnB.addActionListener(this);
btnC.setBounds(255,440,100,50);
btnC.addActionListener(this);
btnD.setBounds(365,440,100,50);
btnD.addActionListener(this);
btnNächsteFrage.setBounds(365,350,100,50);
btnNächsteFrage.addActionListener(this);
}
public void paint(Graphics g)
{
if (quiz1.fragennummer==0) quiz1.anfangsbildschirm(g); else
if (quiz1.fragennummer==1) quiz1.frage1(g); else
if (quiz1.fragennummer==2) quiz1.frage2(g); else
if (quiz1.fragennummer==3) quiz1.frage3(g); else
if (quiz1.fragennummer==4) quiz1.frage4(g); else
if (quiz1.fragennummer==5) quiz1.frage5(g); else
if (quiz1.fragennummer==6) quiz1.frage6(g); else
if (quiz1.fragennummer==7) quiz1.frage7(g); else
if (quiz1.fragennummer==8) quiz1.frage8(g); else
if (quiz1.fragennummer==9) quiz1.frage9(g); else
if (quiz1.fragennummer==10) quiz1.frage10(g); else
if (quiz1.fragennummer==11) quiz1.endbildschirm(g);
}
public void actionPerformed(ActionEvent event)
{
if (event.getSource() == btnNächsteFrage)
quiz1.fragennummer=quiz1.fragennummer+1;
repaint();
if (event.getSource() == btnA)
quiz1.antwort='A';
repaint();
if (event.getSource() == btnB)
quiz1.antwort='B';
repaint();
if (event.getSource() == btnC)
quiz1.antwort='C';
repaint();
if (event.getSource() == btnD)
quiz1.antwort='D';
repaint();
}
}
KLASSE
Java:
import java.awt.*;
public class Quiz
{
int fragennummer = 0;
char antwort;
int richtig=0;
int falsch=0;
public Quiz()
{
}
public void anfangsbildschirm(Graphics g)
{
g.setColor(new Color(255,255,255));
g.fillRect(0,0,1000,1000);
g.setColor(new Color(0,0,0));
g.drawString("QUIZ", 175, 200);
g.drawString("10 Fragen", 175, 235);
g.drawString("Allgemeines & Aktuelles", 175, 270);
}
public void endbildschirm(Graphics g)
{
g.setColor(new Color(255,255,255));
g.fillRect(0,0,1000,1000);
g.setColor(new Color(0,0,0));
g.drawString("Sie haben " + richtig + " Frage(n) richtig und", 175, 200);
g.drawString(" "+falsch+" Frage(n) falsch beantwortet.", 175, 235);
}
public void richtig(Graphics g)
{
g.setColor(new Color(255,255,255));
g.fillRect(0,0,1000,1000);
g.setColor(new Color(0,0,0));
g.drawString("Richtig!", 20, 20);
antwort=' ';
richtig=richtig+1;
}
public void falsch(Graphics g)
{
g.setColor(new Color(255,255,255));
g.fillRect(0,0,1000,1000);
g.setColor(new Color(0,0,0));
g.drawString("Falsch!", 20, 20);
antwort=' ';
falsch=falsch+1;
}
public void frage1(Graphics g)
{
g.setColor(new Color(255,255,255));
g.fillRect(0,0,1000,1000);
g.setColor(new Color(0,0,0));
g.drawString("Frage 1", 20, 20);
g.drawString("Was ist Kaffee ohne Milch?",20,100);
g.drawString("Antwort A: heiß & fettig",20,150);
g.drawString("Antwort B: süß & sauer",20,175);
g.drawString("Antwort C: schwarz & lecker",20,200);
g.drawString("Antwort D: würzig & süffig",20,225);
if (antwort == 'A')
falsch(g);
if (antwort == 'B')
falsch(g);
if (antwort == 'C')
richtig(g);
if (antwort == 'D')
falsch(g);
}

Zuletzt bearbeitet von einem Moderator: