Hallo Javagemeinde,
ich bin mal wieder fleissig am Üben. Was habe ich gemacht.
Ich erzeuge per Zufall ein paar Arrays, zeige diese danach in JLabels an. Dabei erzeuge ich auch mehrere JTextField's. Das Lernprogramm (für meinen Sohn) soll die eingegebenen Ergebnisse auf Richtigkeit prüfen.
So nun meine Frage. Wie komme ich wieder an die JTextFields zum Vergleichen mit den Eingaben ran. Sie haben ja leider alle die gleichen Namen?
Danke für einen Tipp.
ich bin mal wieder fleissig am Üben. Was habe ich gemacht.
Ich erzeuge per Zufall ein paar Arrays, zeige diese danach in JLabels an. Dabei erzeuge ich auch mehrere JTextField's. Das Lernprogramm (für meinen Sohn) soll die eingegebenen Ergebnisse auf Richtigkeit prüfen.
So nun meine Frage. Wie komme ich wieder an die JTextFields zum Vergleichen mit den Eingaben ran. Sie haben ja leider alle die gleichen Namen?
Danke für einen Tipp.
Code:
package project;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Random;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class MainFrame extends JFrame implements ActionListener {
private static final long serialVersionUID = 4049359707984704568L;
final int ANZAHL = 10;
private Random zufall;
private int zufallZahl;
private int arrReihe1[];
private int arrReihe2[];
private int arrReihe3[];
private int arrReihe4[];
private JPanel panel;
private JPanel panel1, panel2;
private JButton start;
private JButton stop;
private boolean pressStart;
public MainFrame() {
super();
zufall = new Random();
arrReihe1 = new int [ANZAHL];
arrReihe2 = new int [ANZAHL];
arrReihe3 = new int [ANZAHL];
arrReihe4 = new int [ANZAHL];
pressStart = false;
panel = new JPanel();
panel.setLayout(new BorderLayout());
panel1 = new JPanel();
panel1.setLayout(new GridLayout(10,6));
panel2 = new JPanel();
panel2.setLayout(new GridLayout(10,6));
panel.add(panel1, BorderLayout.WEST);
panel.add(panel2, BorderLayout.EAST);
setTitle( "Raphael's Rechenaufgaben" );
setDefaultCloseOperation( DO_NOTHING_ON_CLOSE );
setSize( 800, 600 );
setLocationRelativeTo( null );
addWindowListener( new WindowAdapter(){
public void windowClosing( WindowEvent e ) {
exit();
}
});
start = new JButton("Start");
start.addActionListener(this);
panel.add(start, BorderLayout.NORTH);
stop = new JButton("Ergebnisse");
stop.addActionListener(this);
panel.add(stop, BorderLayout.SOUTH);
setContentPane(panel);
setVisible(true);
}
public void actionPerformed(ActionEvent evt){
Object source = evt.getSource();
if (source == start && !pressStart) {
erzeugeArray1();
erzeugeArray2();
erzeugeArray3();
erzeugeArray4();
zeichneWest();
zeichneOst();
pressStart = true;
}
if (source == stop) {
druckeArray();
}
}
public void erzeugeArray1(){
for (int i = 0; i < ANZAHL ; i++) {
arrReihe1[i] = zufall.nextInt(10)+1;
}
}
public void erzeugeArray2(){
for (int i = 0; i < ANZAHL ; i++) {
zufallZahl = zufall.nextInt(20)+1;
while ( (arrReihe1[i] + zufallZahl) > 20) {
zufallZahl = zufall.nextInt(15)+1;
}
arrReihe2[i] = zufallZahl;
}
}
public void erzeugeArray3(){
for (int i = 0; i < ANZAHL ; i++) {
arrReihe3[i] = zufall.nextInt(20)+1;
}
}
public void erzeugeArray4(){
for (int i = 0; i < ANZAHL ; i++) {
zufallZahl = zufall.nextInt(10)+1;
while ( (arrReihe3[i] - zufallZahl) < 0) {
zufallZahl = zufall.nextInt(10)+1;
}
arrReihe4[i] = zufallZahl;
}
}
public void zeichneWest(){
for (int i = 0; i < ANZAHL ; i++) {
JLabel labelf = new JLabel(" ");
panel1.add(labelf);
JLabel label1 = new JLabel(String.valueOf(arrReihe1[i]));
panel1.add(label1);
JLabel labelx = new JLabel("+");
panel1.add(labelx);
JLabel label2 = new JLabel(String.valueOf(arrReihe2[i]));
panel1.add(label2);
JLabel labely = new JLabel("=");
panel1.add(labely);
JTextField textField1 = new JTextField("",5); // <-- ?????
panel1.add(textField1);
panel.validate();
}
}
public void zeichneOst(){
for (int i = 0; i < ANZAHL ; i++) {
JLabel label3 = new JLabel(String.valueOf(arrReihe3[i]));
panel2.add(label3);
JLabel labelx = new JLabel("-");
panel2.add(labelx);
JLabel label4 = new JLabel(String.valueOf(arrReihe4[i]));
panel2.add(label4);
JLabel labely = new JLabel("=");
panel2.add(labely);
JTextField textField2 = new JTextField("",5); // <-- ?????
panel2.add(textField2);
JLabel labelf = new JLabel(" ");
panel2.add(labelf);
panel.validate();
}
}
public void druckeArray(){
for (int i = 0; i < ANZAHL ; i++) {
System.out.println("arrReihe1" + i + " : " + arrReihe1[i]);
System.out.println("arrReihe2" + i + " : " + arrReihe2[i]);
System.out.println("arrReihe3" + i + " : " + arrReihe3[i]);
System.out.println("arrReihe4" + i + " : " + arrReihe4[i]);
}
}
public void exit(){
System.exit( 0 );
}
}