Einen guten Tag
Ich hoffe ich stelle hier keine allzu dumme Frage
Ist aber schwer zu vormulieren, aber ich wage mal einen Versuch.
Ich bin gerade dabei java zu lernen. Zur Uebung will ich ein Quizz mit GUI erstellen.
Dies hat auch soweit geklappt, aber nur als ich alles in eine Klasse eingepackt habe.
Bei meinem Versuch dies in mehrere Klassen zu schreiben, tritt bei mir ein Fehler auf.
Hier erstmal wie es aussehen soll :
( dies ist mein funktionierendes Programm, es ist halt nru in einer Klasse)
Hier das Hauptmenu:
hauptmenuew8vqugprs.jpg auf fotos-hochladen.net
Hier mein Quizzteil:
quizzfweb7a4mon.jpg auf fotos-hochladen.net
Bei meinem in mehreren Klassen geschriebenem Programm funktioniert das Hauptmenu gut, nun tritt aber bei dem Quizzteil ein Fehler auf. Es werden nicht alle Buttons angezeigt und diese Buttons sind auch nur sichtbar wenn man mit der Maus ueber sie faehrt:
quizz2vx651boza8.jpg auf fotos-hochladen.net
Nun zu meinem Code:
Die Startklasse:
Nun die Startfensterklasse:
Die Quizzfensterklasse:
Ich weiss das das Programm noch nicht fertig ist, aber solange die Buttons nicht richtig angezeigt werden lohnt es sich nicht weiter zu arbeiten.
Hier noch meine funktionierendes, aber in nur eine Klasse geschriebenes Quizz:
Entschuldigung fuer diesen langen post, aber Bitte Bitte Helft mir.
MfG
Ich hoffe ich stelle hier keine allzu dumme Frage
Ist aber schwer zu vormulieren, aber ich wage mal einen Versuch.
Ich bin gerade dabei java zu lernen. Zur Uebung will ich ein Quizz mit GUI erstellen.
Dies hat auch soweit geklappt, aber nur als ich alles in eine Klasse eingepackt habe.
Bei meinem Versuch dies in mehrere Klassen zu schreiben, tritt bei mir ein Fehler auf.
Hier erstmal wie es aussehen soll :
( dies ist mein funktionierendes Programm, es ist halt nru in einer Klasse)
Hier das Hauptmenu:
hauptmenuew8vqugprs.jpg auf fotos-hochladen.net
Hier mein Quizzteil:
quizzfweb7a4mon.jpg auf fotos-hochladen.net
Bei meinem in mehreren Klassen geschriebenem Programm funktioniert das Hauptmenu gut, nun tritt aber bei dem Quizzteil ein Fehler auf. Es werden nicht alle Buttons angezeigt und diese Buttons sind auch nur sichtbar wenn man mit der Maus ueber sie faehrt:
quizz2vx651boza8.jpg auf fotos-hochladen.net
Nun zu meinem Code:
Die Startklasse:
Java:
package quizz3;
public class Startklasse {
public static void main(String args[]){
Startfenster Startfenster = new Startfenster("Menue");
Startfenster.setDefaultCloseOperation(Startfenster.DISPOSE_ON_CLOSE);
Startfenster.setSize(250,400);
Startfenster.setLayout(null);
Startfenster.setVisible(true);
}
public static void Quizzfenster(){
Quizzfenster Quizzfenster = new Quizzfenster("Quizz");
Quizzfenster.setDefaultCloseOperation(Quizzfenster.DISPOSE_ON_CLOSE);
Quizzfenster.setSize(400,400);
Quizzfenster.setVisible(true);
Quizzfenster.setLayout(null);
}
}
Nun die Startfensterklasse:
Java:
package quizz3;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Startfenster extends JFrame implements ActionListener{
public JButton start;
public JButton ende;
public JButton credits;
public JButton einstellungen;
public Startfenster(String title){
super(title);
start = new JButton("Quiz starten");
start.setBounds(40,40,160,40);
start.addActionListener(this);
add(start);
credits = new JButton("Credits");
credits.setBounds(40,117,160,40);
credits.addActionListener(this);
add(credits);
einstellungen = new JButton("Einstellungen");
einstellungen.setBounds(40,205,160,40);
einstellungen.addActionListener(this);
add(einstellungen);
ende = new JButton("Beenden");
ende.setBounds(40,275,160,40);
ende.addActionListener(this);
add(ende);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==start){
Startklasse.Quizzfenster();
}
if(e.getSource()==credits){
}
if(e.getSource()==einstellungen){
}
if(e.getSource()==ende){
System.exit(0);
}
}
}
Die Quizzfensterklasse:
Java:
package quizz3;
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Quizzfenster extends JFrame implements ActionListener {
private JButton frage;
public String Frage;
private JButton a;
public String antwort1;
private JButton b;
public String antwort2;
private JButton c;
public String antwort3;
private JButton d;
public String antwort4;
public int richtig;
public Quizzfenster(String title){
super(title);
frage = new JButton(Frage);
frage.setBounds(20,20,340,80);
frage.addActionListener(this);
add(frage);
a = new JButton(antwort1);
a.setBounds(40,200,140,60);
a.addActionListener(this);
add(a);
b = new JButton(antwort2);
b.setBounds(40,270,140,60);
b.addActionListener(this);
add(b);
c = new JButton(antwort3);
c.setBounds(200,200,140,60);
c.addActionListener(this);
add(c);
d = new JButton(antwort4);
d.setBounds(200,270,140,60);
d.addActionListener(this);
add(d);
}
public void Variablenfestlegen(){
}
public void setFrage(){
}
@Override
public void actionPerformed(ActionEvent e) {
}
}
Ich weiss das das Programm noch nicht fertig ist, aber solange die Buttons nicht richtig angezeigt werden lohnt es sich nicht weiter zu arbeiten.
Hier noch meine funktionierendes, aber in nur eine Klasse geschriebenes Quizz:
Java:
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.*;
public class frame extends JFrame implements ActionListener {
public static JButton start;
public static JFrame einstellen;
public static JButton ende;
public static JButton credits;
public static JButton einstellungen;
public static JButton leicht;
public static JButton mittel;
public static JButton schwer;
public String title;
public static int timer=1;
public JButton frage;
public String Frage;
public JButton a;
public String antwort1;
public JButton b;
public String antwort2;
public JButton c;
public String antwort3;
public JButton d;
public String antwort4;
public int richtig;
public JFrame gui;
public int punkte=0;
public JButton punkteanzeige;
public int schwierig=1;
public int lives=3;
public static void main(String args[]){
frame frame = new frame("Menue");
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setSize(250,400);
frame.setLayout(null);
frame.setVisible(true);
}
public frame(String title){
super(title);
start = new JButton("Quiz starten");
start.setBounds(40,40,160,40);
start.addActionListener(this);
add(start);
credits = new JButton("Credits");
credits.setBounds(40,117,160,40);
credits.addActionListener(this);
add(credits);
einstellungen = new JButton("Einstellungen");
einstellungen.setBounds(40,205,160,40);
einstellungen.addActionListener(this);
add(einstellungen);
ende = new JButton("Beenden");
ende.setBounds(40,275,160,40);
ende.addActionListener(this);
add(ende);
}
public void gui(){
//Fragen FragenObject = new Fragen();
//FragenObject.setquestion(Frage, antwort1, antwort2, antwort3, antwort4, richtig);
getQuestion();
frage = new JButton(Frage);
frage.setBounds(20,20,340,80);
frage.addActionListener(this);
a = new JButton(antwort1);
a.setBounds(40,200,140,60);
a.addActionListener(this);
b = new JButton(antwort2);
b.setBounds(40,270,140,60);
b.addActionListener(this);
c = new JButton(antwort3);
c.setBounds(200,200,140,60);
c.addActionListener(this);
d = new JButton(antwort4);
d.setBounds(200,270,140,60);
d.addActionListener(this);
JFrame gui = new JFrame("Quizz");
gui.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
gui.setSize(400,400);
gui.setVisible(true);
gui.setLayout(null);
gui.add(frage);
gui.add(a);
gui.add(b);
gui.add(c);
gui.add(d);
gui.add(punkteanzeige);
}
public void einstellen(){
leicht = new JButton("Leicht");
leicht.setBounds(35,40,180,40);
leicht.addActionListener(this);
mittel = new JButton("Mittel");
mittel.setBounds(35,120,180,40);
mittel.addActionListener(this);
schwer = new JButton("Schwer");
schwer.setBounds(35,200,180,40);
schwer.addActionListener(this);
JFrame einstellen= new JFrame("Einstellungen");
einstellen.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
einstellen.setSize(260,320);
einstellen.setVisible(true);
einstellen.setLayout(null);
einstellen.add(leicht);
einstellen.add(mittel);
einstellen.add(schwer);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()== start){
gui();
}
if(e.getSource()==einstellungen){
einstellen();
}
if(e.getSource()==leicht){
schwierig=1;
}
if(e.getSource() ==mittel){
schwierig=2;
}
if(e.getSource()== schwer){
schwierig=3;
}
if(e.getSource()==credits){
Object[] options1 = { "OK"};
JOptionPane.showOptionDialog(null," Programmiert von Christoph !","Information",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options1,options1[0]);
}
if(e.getSource()== ende){
System.exit(0);
}
if(e.getSource()== a){
if(richtig!=1){
lives-=1;
falsch();
}
else{
richtig();
gui();
}
}
if(e.getSource()== b){
if(richtig!=2){
lives-=1;
falsch();
}
else{
richtig();
gui();
}
}
if(e.getSource()== c){
if(richtig!=3){
lives-=1;
falsch();
}
else{
richtig();
gui();
}
}
if(e.getSource()== d){
if(richtig!=4){
lives-=1;
falsch();
}
else{
richtig();
gui();
}
}
}
public void falsch(){
if(lives==0){
gameOver();
}
punkte-=1;
Object[] options = { "OK"};
JOptionPane.showOptionDialog(null," Du hast "+punkte+" Punkt(e)\n Du hast noch "+lives+" Versuch(e)","Falsch",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);
}
public void richtig(){
if(lives==0){
gameOver();
}
if(schwierig==1){
punkte+=1;
}
if(schwierig==2){
punkte+=2;
}
if(schwierig==3){
punkte+=3;
}
Object[] options = { "OK"};
JOptionPane.showOptionDialog(null,"Punkte: "+punkte+" Gut gemacht <3","Richtig",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);
if(punkte>=25){
Object[] options2 = { "OK"};
JOptionPane.showOptionDialog(null,"Du hast das Quizz mit "+punkte+" Punkt(e) erfolgreich bestanden.","Gratulation",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options2,options2[0]);
warten(1000);
System.exit(0);
}
}
public void gameOver(){
Object[] options4 = { "OK"};
punkte=0;
JOptionPane.showOptionDialog(null,"DU hast Versagt","Versager",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options4,options4[0]);
warten(2000);
System.exit(0);
}
public static void warten(int time){
try{
Thread.sleep(time);
}catch(Exception e){
}
}
public void getQuestion(){
if(schwierig==1){
Random rand = new Random();
int zahl=rand.nextInt(8);
richtig=0;
switch(zahl){
case 0:
Frage = "Was ist keine Kinderkrankheit?";
antwort1 = "Masern";
antwort2 = "Seepoken";
antwort3 = "Mumps";
antwort4 = "Roeteln";
richtig=2;
break;
case 1:
Frage = "Haeufigste Todesursache in der Wueste";
antwort1 = "Ertrinken";
antwort2 = "Verhungern";
antwort3 = "Verdursten";
antwort4 = "Erfrieren";
richtig=1;
break;
case 2:
Frage = "Was schmeckt man auf der Zungenspitze?";
antwort1 = "Bitter";
antwort2 = "Salzig";
antwort3 = "Suess";
antwort4 = "Sauer";
richtig=3;
break;
case 3:
Frage = "Wodurch trocknet Sekundenkleber?";
antwort1 = "Sauerstoff";
antwort2 = "Feuchtigkeit";
antwort3 = "Waerme";
antwort4 = "Kaelte";
richtig=2;
break;
case 4:
Frage = "Welche europäische Stadt hat die meisten Brücken?";
antwort1 = "Hamburg";
antwort2 = "Venedig";
antwort3 = "Amsterdam";
antwort4 = "Berlin";
richtig=1;
break;
case 5:
Frage = "Anzahl der Bundeslaender in Deutschland?";
antwort1 = "14 Bundesländer";
antwort2 = "16 Bundesländer";
antwort3 = "20 Bundesländer";
antwort4 = "15 Bundesländer";
richtig=2;
break;
case 6:
Frage = "Wie viel PS hat ein Pferd ?";
antwort1 = "unter 0.1PS";
antwort2 = "1PS";
antwort3 = "2PS";
antwort4 = "10PS";
richtig=4;
break;
case 7:
Frage = "Wo befindet sich der Hauptsitz der UNESCO?";
antwort1 = "Brüssel";
antwort2 = "Paris";
antwort3 = "London";
antwort4 = "Helsinki";
richtig=2;
break;
default:
Frage = "There was an error !!!";
antwort1 = "There was an error !!!";
antwort2 = "There was an error !!!";
antwort3 = "There was an error !!!";
antwort4 = "There was an error !!!";
break;
}
}
if(schwierig==2){
Random rand = new Random();
int zahl=rand.nextInt(8);
richtig=0;
switch(zahl){
case 0:
Frage = "Was ist keine Kinderkrankheit?";
antwort1 = "Masern";
antwort2 = "Seepoken";
antwort3 = "Mumps";
antwort4 = "Roeteln";
richtig=2;
break;
case 1:
Frage = "Die Wurzel aus 49";
antwort1 = "24.5";
antwort2 = "9";
antwort3 = "7";
antwort4 = "nicht moeglich";
richtig=3;
break;
case 2:
Frage = "Was schmeckt man auf der Zungenspitze?";
antwort1 = "Bitter";
antwort2 = "Salzig";
antwort3 = "Suess";
antwort4 = "Sauer";
richtig=3;
break;
case 3:
Frage = "Wodurch trocknet Sekundenkleber?";
antwort1 = "Sauerstoff";
antwort2 = "Feuchtigkeit";
antwort3 = "Waerme";
antwort4 = "Kaelte";
richtig=2;
break;
case 4:
Frage = "Welche europäische Stadt hat die meisten Brücken?";
antwort1 = "Hamburg";
antwort2 = "Venedig";
antwort3 = "Amsterdam";
antwort4 = "Berlin";
richtig=1;
break;
case 5:
Frage = "Was bekam man beim ersten Münzautomat?";
antwort1 = "Kaugummi";
antwort2 = "Schokolade";
antwort3 = "Wasser";
antwort4 = "Brot";
richtig=3;
break;
case 6:
Frage = "Wie lange schläft ein Faultier pro Tag?";
antwort1 = "15 Stunden";
antwort2 = "24 Stunden";
antwort3 = "30 Minuten";
antwort4 = "12 Stunden";
richtig=1;
break;
case 7:
Frage = "Was ist die Amtssprache von Mexiko?";
antwort1 = "Portugiesisch";
antwort2 = "Englisch";
antwort3 = "Französisch";
antwort4 = "Spanisch";
richtig=4;
break;
default:
Frage = "There was an error !!!";
antwort1 = "There was an error !!!";
antwort2 = "There was an error !!!";
antwort3 = "There was an error !!!";
antwort4 = "There was an error !!!";
break;
}
}
if(schwierig==3){
Random rand = new Random();
int zahl=rand.nextInt(9);
richtig=0;
switch(zahl){
case 0:
Frage = "Wann wurde die Sommerzeit eingeführt?";
antwort1 = "06. April 1980";
antwort2 = "01. Januar 1983";
antwort3 = "08. September 1982";
antwort4 = "14. Oktober 1986";
richtig=1;
break;
case 1:
Frage = "Welcher Fluss mündet in die Nordsee?";
antwort1 = "Mosel";
antwort2 = "Oder";
antwort3 = "Ems";
antwort4 = "Maas";
richtig=3;
break;
case 2:
Frage = "Was ist ein Merkmal postmoderner Sportkultur?";
antwort1 = "Vereinheitlichung";
antwort2 = "Anerkennung der Antike";
antwort3 = "Vielfältigkeit";
antwort4 = "Homogenität";
richtig=3;
break;
case 3:
Frage = "Wodurch trocknet Sekundenkleber?";
antwort1 = "Sauerstoff";
antwort2 = "Feuchtigkeit";
antwort3 = "Waerme";
antwort4 = "Kaelte";
richtig=2;
break;
case 4:
Frage = "Welche europäische Stadt hat die meisten Brücken?";
antwort1 = "Hamburg";
antwort2 = "Venedig";
antwort3 = "Amsterdam";
antwort4 = "Berlin";
richtig=1;
break;
case 5:
Frage = "Was bekam man beim ersten Münzautomat?";
antwort1 = "Kaugummi";
antwort2 = "Schokolade";
antwort3 = "Wasser";
antwort4 = "Brot";
richtig=3;
break;
case 6:
Frage = "Wie viel PS hat ein Pferd ?";
antwort1 = "unter 0.1PS";
antwort2 = "1PS";
antwort3 = "2PS";
antwort4 = "10PS";
richtig=4;
break;
case 7:
Frage = "Welches Gebirge liegt direkt am Rhein?";
antwort1 = "Rhön";
antwort2 = "Taunus";
antwort3 = "Erzgebirge";
antwort4 = "Spessart";
richtig=2;
break;
case 8:
Frage = "Was ist ein Rebus??";
antwort1 = "Kreditinstitut";
antwort2 = "Werkzeug";
antwort3 = "Weinstock";
antwort4 = "Bilderrätsel";
richtig=4;
break;
case 9:
Frage = "Was ist ein Rebus??";
antwort1 = "Kreditinstitut";
antwort2 = "Werkzeug";
antwort3 = "Weinstock";
antwort4 = "Bilderrätsel";
richtig=4;
break;
default:
Frage = "There was an error !!!";
antwort1 = "There was an error !!!";
antwort2 = "There was an error !!!";
antwort3 = "There was an error !!!";
antwort4 = "There was an error !!!";
break;
}
}
}
}
Entschuldigung fuer diesen langen post, aber Bitte Bitte Helft mir.
MfG