Guten Tag liebe Community,
ich hab vor geringer Zeit damit angefangen in Java zu Programmieren und habe noch nicht viel Erfahrung.
Nun möchte ich eine Aufgabe die mir in der Schule gestellt wurde um eine Grafische Oberfläche erweitern ( JFrame,JButton)
Es geht darin um einen Fahrstuhl der eine Geldeingabe erwartet. Er erwartet die Eingabe von 30cent. Es gibt in der Oberfläche die Buttons 5c 10c und 20c die durch einen Actionlistener jeweils die Variable geld aus der Hauptklasse um 5,10,20 vergrößern. Das Problem ist, die Berechnung wird in dem Actionlistener durchgeführt aber nicht an die Hauptklasse zurückgegeben, daher kann das Programm nicht erkennen wenn 30cent zusammenkommen.
hier mein code:
vielen Dank schon mal im Vorraus.
ich hab vor geringer Zeit damit angefangen in Java zu Programmieren und habe noch nicht viel Erfahrung.
Nun möchte ich eine Aufgabe die mir in der Schule gestellt wurde um eine Grafische Oberfläche erweitern ( JFrame,JButton)
Es geht darin um einen Fahrstuhl der eine Geldeingabe erwartet. Er erwartet die Eingabe von 30cent. Es gibt in der Oberfläche die Buttons 5c 10c und 20c die durch einen Actionlistener jeweils die Variable geld aus der Hauptklasse um 5,10,20 vergrößern. Das Problem ist, die Berechnung wird in dem Actionlistener durchgeführt aber nicht an die Hauptklasse zurückgegeben, daher kann das Programm nicht erkennen wenn 30cent zusammenkommen.
hier mein code:
Java:
public class Hauptklasse {
public static int geld=0;
public static int bezahlt =30;
public static void main(String args[])
{
fenster fenster=new fenster();
System.out.println(geld);
}
}
Java:
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class fenster extends JFrame{
public fenster()
{
setLayout(null);
setBounds(0 , 0 , 500 , 500);
setBackground(Color.lightGray);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fünf fünf=new fünf();
zehn zehn=new zehn();
zwanzig zwanzig=new zwanzig();
headline headline=new headline();
setVisible(true);
add(fünf);
add(zehn);
add(zwanzig);
add(headline);
}
}
Java:
import javax.swing.JButton;
public class fünf extends JButton{
public fünf()
{
setText("5 cent");
setBounds( 50 , 200, 90 , 30);
setVisible(true);
addActionListener(new listener());
if (Hauptklasse.geld>25)
{setEnabled(false);}
}
}
Java:
import javax.swing.JButton;
public class zehn extends JButton{
public zehn()
{
setText("10 cent");
setBounds( 50 , 240, 90 , 30);
setVisible(true);
addActionListener(new listener());
if (Hauptklasse.geld>=25)
{setEnabled(false);}
}
}
Java:
import javax.swing.JButton;
public class zwanzig extends JButton{
public zwanzig()
{
setText("20 cent");
setBounds( 50 , 280, 90 , 30);
setVisible(true);
addActionListener(new listener());
if (Hauptklasse.geld>=10)
{setEnabled(false);}
}
}
Java:
import javax.swing.JLabel;
public class headline extends JLabel
{
public headline()
{
setText("noch Bezahlen "+Hauptklasse.bezahlt);
setVisible(true);
setBounds(50, 50, 150, 150);
}
}
Java:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class listener implements ActionListener {
public void actionPerformed(ActionEvent event)
{
if (event.getSource() == fünf.class)
{
Hauptklasse.bezahlt=Hauptklasse.bezahlt-5;
Hauptklasse.geld=Hauptklasse.geld+5;
System.out.println(Hauptklasse.geld);
}
if (event.getSource() == zehn.class)
{
Hauptklasse.bezahlt=Hauptklasse.bezahlt-10;
Hauptklasse.geld=Hauptklasse.geld+10;
System.out.println(Hauptklasse.geld);
}
if (event.getSource() == zwanzig.class)
{
Hauptklasse.bezahlt=Hauptklasse.bezahlt-20;
Hauptklasse.geld=Hauptklasse.geld+20;
System.out.println(Hauptklasse.geld);
}
}
}
vielen Dank schon mal im Vorraus.