Ich möchte das diese App. die Werte der Buttons nur 4 mal liest und dann in der Console ausgibt. Dazu habe ich eine schleife gemacht die scheint aber nicht zu klappen. Hier ist mein Code:
Java:
package calculator.pack;
import java.awt.Button;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class AwtFenster extends Frame {
private Panel panelZahlen, panelausgabe;
private Button button1, button2, button3, button4, button5, button6;
private Button button7, button8, button9, button0, buttonx, buttonxx;
private Label ergebnis, ergebnis1, label1;
private int loop, temp;
int zahlen[] = new int[5];
// Konstruktor
public AwtFenster() {
super("Calculator");
// LayoutMannager für das Hauptfenster
this.setLayout(new GridLayout(2, 0));
// Aufbau des Panels panelzahlen
panelZahlen = new Panel();
panelZahlen.setLayout(new GridLayout(4, 3, 10, 10));
button1 = new Button("1");
button2 = new Button("2");
button3 = new Button("3");
button4 = new Button("4");
button5 = new Button("5");
button6 = new Button("6");
button7 = new Button("7");
button8 = new Button("8");
button9 = new Button("9");
button0 = new Button("*");
buttonx = new Button("0");
buttonxx = new Button("#");
panelZahlen.add(button1);
panelZahlen.add(button2);
panelZahlen.add(button3);
panelZahlen.add(button4);
panelZahlen.add(button5);
panelZahlen.add(button6);
panelZahlen.add(button7);
panelZahlen.add(button8);
panelZahlen.add(button9);
panelZahlen.add(button0);
panelZahlen.add(buttonx);
panelZahlen.add(buttonxx);
button1.addActionListener(new Aktion());
button2.addActionListener(new Aktion());
button3.addActionListener(new Aktion());
button4.addActionListener(new Aktion());
button5.addActionListener(new Aktion());
button6.addActionListener(new Aktion());
button7.addActionListener(new Aktion());
button8.addActionListener(new Aktion());
button9.addActionListener(new Aktion());
button0.addActionListener(new Aktion());
buttonx.addActionListener(new Aktion());
buttonxx.addActionListener(new Aktion());
// Aufbau des Ausgabe Panels
panelausgabe = new Panel();
ergebnis = new Label();
panelausgabe.add(ergebnis);
// zusammensetzen der Panels
this.add(panelZahlen);
this.add(panelausgabe);
// Event-Handling für`s Hauptfenster
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
// Ein Handling für die Action Klasse Aktion
class Aktion implements ActionListener {
public void actionPerformed(ActionEvent e) {
for (loop = 0; loop <= 4; ++loop) {
if (e.getSource() == button1)
ergebnis.setText(button1.getLabel());
if (e.getSource() == button2)
ergebnis.setText(button2.getLabel());
if (e.getSource() == button3)
ergebnis.setText(button3.getLabel());
if (e.getSource() == button4)
ergebnis.setText(button4.getLabel());
if (e.getSource() == button5)
ergebnis.setText(button5.getLabel());
if (e.getSource() == button6)
ergebnis.setText(button6.getLabel());
if (e.getSource() == button7)
ergebnis.setText(button7.getLabel());
if (e.getSource() == button8)
ergebnis.setText(button8.getLabel());
if (e.getSource() == button9)
ergebnis.setText(button9.getLabel());
if (e.getSource() == button0)
ergebnis.setText(button0.getLabel());
if (e.getSource() == buttonx)
ergebnis.setText(buttonx.getLabel());
if (e.getSource() == buttonxx)
ergebnis.setText(buttonxx.getLabel());
zahlen[loop] = temp;
}
System.out.println("Zahl =" + temp);
}
}
}