Hallo,
vielleicht kann mir ja jemand helfen, wäre super!
Also, ich hab eigene Fenster geschrieben und will die nun in die dazu gehörige Methoden einbauen, wo ich zuvor JOptionePane nutze, bekomme es aber nicht hin.
Man kann etwas schreiben und dieses geschriebene wird dann verglichen ob es richtig oder falsch ist.
In das eine Fenster kann man etwas rein schreiben, funktioniert auch aber eben auch nur bis hier hin, wie geht es weiter
So das dann das geschriebene verarbeitet wird?
Hier ist die Methode und die beiden Fenster ich hoffe man konnte verstehen wo mein Problem liegt!?
Die Methode:
Die beiden Fenster:
Und das andere Fenster:
vielleicht kann mir ja jemand helfen, wäre super!
Also, ich hab eigene Fenster geschrieben und will die nun in die dazu gehörige Methoden einbauen, wo ich zuvor JOptionePane nutze, bekomme es aber nicht hin.
Man kann etwas schreiben und dieses geschriebene wird dann verglichen ob es richtig oder falsch ist.
In das eine Fenster kann man etwas rein schreiben, funktioniert auch aber eben auch nur bis hier hin, wie geht es weiter
So das dann das geschriebene verarbeitet wird?
Hier ist die Methode und die beiden Fenster ich hoffe man konnte verstehen wo mein Problem liegt!?
Die Methode:
Code:
public void spielStartEinMalEins(Spieler spieler)
{
for(int i=0; i<aufgabenAnzahl; i++)
{
for(int j=0; j<spieler.spielerAnzahl; j++)
{
int eingabeExtern = 0;
int ausgabeExtern = 0;
int ausgabeExternII = 0;
int eingabeIntern = 0;
if(spieler.spielerAnzahl == 1)
{
if(true == hatReihenAufgabenMoeglichkeit)
{
//nur für testzwecken, ansonsten hier ohne spielernamen
JOptionPane.showMessageDialog(null, "Hallo "+ spieler.name[j] +", du bist dran!");
ausgabeExtern = (int)(Math.random() * reihenZaehlEnde + reihenZaehlStart);
// Wie kann ich hier das eigene Fenster nutzen? ich weiss nicht, wie man das Fenster hier
// einbauen kann, so dass nicht danach das Spiel unterbrochen ist?
// es stürtzt immer ab, da das Programm beendet wird, wie kann ich nur das Fenster schließen
// so das es danach weiter geht?
// AusgabeTextGrafik ausgabe = new AusgabeTextGrafik("Hallo "+ spieler.name[j] +", du bist dran!");
// ausgabe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JOptionPane.showMessageDialog(null, reihenZahlIndividuel[j] +" * "+ausgabeExtern+" =");
//Hier verstehe ich nicht, wie ich das eingegebene dann der Methode übergebe, so wie das bei
// JOptionPane funktioniert, so das dann die beiden Strings miteinander verglichen werden
// können!
// AusgabeEingabeTextGrafik ausgabeEingabe = new AusgabeEingabeTextGrafik(reihenZahlIndividuel[j] +" * "+ausgabeExtern+" =", 2);
// ausgabeEingabe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
eingabeExtern = Integer.parseInt(JOptionPane.showInputDialog("Bitte das Ergebnis eintragen:"));
eingabeIntern = reihenZahlIndividuel[j] * ausgabeExtern;
}
else
{
ausgabeExtern = (int)(Math.random() * reihenZaehlEnde + reihenZaehlStart);
ausgabeExternII = (int)(Math.random() * reihenZaehlEnde + reihenZaehlStart);
JOptionPane.showMessageDialog(null, ausgabeExtern +" * "+ausgabeExternII+" =");
eingabeExtern = Integer.parseInt(JOptionPane.showInputDialog("Bitte das Ergebnis eintragen:"));
eingabeIntern = ausgabeExtern * ausgabeExternII;
}
}
else
{
if(true == hatReihenAufgabenMoeglichkeit)
{
JOptionPane.showMessageDialog(null, "Hallo "+ spieler.name[j] +", du bist dran!");
ausgabeExtern = (int)(Math.random() * reihenZaehlEnde + reihenZaehlStart);
JOptionPane.showMessageDialog(null, reihenZahlIndividuel[j] +" * "+ausgabeExtern+" =");
eingabeExtern = Integer.parseInt(JOptionPane.showInputDialog("Bitte das Ergebnis eintragen:"));
eingabeIntern = reihenZahlIndividuel[j] * ausgabeExtern;
}
else
{
JOptionPane.showMessageDialog(null, "Hallo "+ spieler.name[j] +", du bist dran!");
ausgabeExtern = (int)(Math.random() * reihenZaehlEnde + reihenZaehlStart);
ausgabeExternII = (int)(Math.random() * reihenZaehlEnde + reihenZaehlStart);
JOptionPane.showMessageDialog(null, ausgabeExtern +" * "+ausgabeExternII+" =");
eingabeExtern = Integer.parseInt(JOptionPane.showInputDialog("Bitte das Ergebnis eintragen:"));
eingabeIntern = ausgabeExtern * ausgabeExternII;
}
}
if(eingabeIntern == eingabeExtern)
{
spieler.zaehlerRichtig[j]++;
JOptionPane.showMessageDialog(null, "Super, das war richtig!");
}
else
{
// Spieler hat Fehler gemacht.
// Wenn er korrekturmöglichkeit hat, dann darf er es nochmal versuchen
if (true == hatKorrekturMoeglichkeit)
{
JOptionPane.showMessageDialog(null, "Hallo "+ spieler.name[j] +", bist Du sicher, überprüfe deine Eingabe");
eingabeExtern = Integer.parseInt(JOptionPane.showInputDialog("Die Zahl ist:"));
if(eingabeIntern == eingabeExtern)
{
spieler.zaehlerRichtig[j]++;
JOptionPane.showMessageDialog(null, "Super, jetzt ist es richtig!");
}
else
{
JOptionPane.showMessageDialog(null, "Schade, das war leider falsch!"+
"\nDas wäre das Ergebnis gewesen:\n"+eingabeIntern);
}
}
else
{
JOptionPane.showMessageDialog(null, "Schade, das war leider falsch!"+
"\nDas wäre das Ergebnis gewesen:\n"+eingabeIntern);
}
}
}
}
}
Die beiden Fenster:
Java:
public class AusgabeTextGrafik extends JDialog implements ActionListener
{
AusgabeTextGrafik(String ausgabeFolge)
{
super();
Container container = getContentPane();
container.setLayout(new GridLayout(2, 1));
container.add(new JLabel(ausgabeFolge));
JPanel panel = new JPanel(new FlowLayout(FlowLayout.CENTER));
container.add(panel);
JButton okButton = new JButton("OK");
panel.add(okButton);
okButton.addActionListener(this);
setBounds(300, 100, 200, 150);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals("OK"))
{
}
}
}
Java:
public class AusgabeEingabeTextGrafik extends JDialog implements ActionListener
{
AusgabeEingabeTextGrafik(String ausgabeFolge, int textFieldGroesse)
{
super();
Container container = getContentPane();
// container.setLayout(new GridLayout(3, 1));
container.setLayout(new BorderLayout(3, 3));
// container.add(new JLabel(ausgabeFolge));
JPanel ausgabe = new JPanel(new FlowLayout(FlowLayout.CENTER));
container.add(ausgabe, BorderLayout.NORTH);
JLabel ausgabeFeldLabel = new JLabel(ausgabeFolge);
ausgabe.add(ausgabeFeldLabel);
JPanel textEingabe = new JPanel(new FlowLayout(FlowLayout.CENTER));
container.add(textEingabe, BorderLayout.CENTER);
JTextField textField = new JTextField(textFieldGroesse + 3);
textEingabe.add(textField);
// textField.addActionListener(this);
JPanel panelButton = new JPanel(new FlowLayout(FlowLayout.CENTER));
container.add(panelButton, BorderLayout.SOUTH);
JButton okButton = new JButton("OK");
panelButton.add(okButton);
okButton.addActionListener(this);
setBounds(300, 100, 200, 150);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals("OK"))
{
System.exit(0);
}
}
}
Zuletzt bearbeitet von einem Moderator: