Hi Leute,
ich bin absoluter Neueinsteiger in der objektorientierten Programmierung. Momentan bearbeiten wir in der Schule unterschiedliche Projekte, die eine Vererbungsstruktur und min. eine ArrayList enthalten sollten. Ich habe mit da einen zweisprachigen Ticketautomat bzw. Fahrkartenautomat vorgenommen und dachte ich schreibe alles in die Superklasse Ticketautomat und erzeuge Instanzen der Subklassen Einzelticket, Gruppenticket und Wochenendticket. Diese sollten dann in eine ArrayList aufgenommen werden, sodass mir zu Wartungszwecken ausgegeben wird, wie viele Ticket einer Sorte produziert wurden.
Hier der Quellcode der Superklasse:
Hoffe mir kann jemand helfen, ich wäre sehr dankbar.
ich bin absoluter Neueinsteiger in der objektorientierten Programmierung. Momentan bearbeiten wir in der Schule unterschiedliche Projekte, die eine Vererbungsstruktur und min. eine ArrayList enthalten sollten. Ich habe mit da einen zweisprachigen Ticketautomat bzw. Fahrkartenautomat vorgenommen und dachte ich schreibe alles in die Superklasse Ticketautomat und erzeuge Instanzen der Subklassen Einzelticket, Gruppenticket und Wochenendticket. Diese sollten dann in eine ArrayList aufgenommen werden, sodass mir zu Wartungszwecken ausgegeben wird, wie viele Ticket einer Sorte produziert wurden.
Hier der Quellcode der Superklasse:
Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Ticketautomat
{
protected final JFrame Ticketautomat;
protected JButton Deutsch;
protected JButton Englisch;
protected JButton Einzelticket;
protected JButton Gruppenticket;
protected JButton Wochenendticket;
protected JButton Geldeinwurf;
protected JButton TicketDrucken;
protected JButton Schließen;
protected JButton Service;
protected JLabel Einzelticket_Label;
protected JLabel Gruppenticket_Label;
protected JLabel Wochenendticket_Label;
protected JLabel Sprachauswahl;
protected JLabel Sprachauswahl_Ergebnis;
protected JLabel Ticketauswahl;
protected JLabel Ticketauswahl_Ergebnis;
protected JLabel Preis;
protected JLabel Preis_Wert;
protected JLabel bisherGezahlt;
protected JLabel bisherGezahlt_Wert;
protected JLabel Wechselgeld;
protected JLabel Wechselgeld_Wert;
protected Box BL;
protected JPanel GRID;
protected JPanel GRID1;
protected JPanel GRID2;
protected JPanel FLOW;
protected JPanel FLOW1;
protected boolean Variable_Deu;
protected boolean Variable_Eng;
protected boolean TicketGewählt;
protected String Ticket;
protected double Ticketpreis;
protected double EingeworfenesGeld;
protected double Geldausgabe;
public Ticketautomat()
{
Variable_Deu = false;
Variable_Eng = false;
TicketGewählt = false;
Ticketautomat = new JFrame();
FrameErzeugung();
}
public void FrameErzeugung()
{
Ticketautomat.setTitle("Ticketmaster V1.012");
Ticketautomat.setSize(525,525);
Ticketautomat.setVisible(true);
Ticketautomat.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container contentPane = Ticketautomat.getContentPane();
Ticketautomat.getContentPane().setLayout(new BorderLayout(0,5));
Deutsch = new JButton(new ImageIcon("Wehende deutsche Flagge.gif"));
Englisch = new JButton(new ImageIcon("Wehende amerikanische Flagge.gif"));
Einzelticket = new JButton(new ImageIcon("Strichmännchen Einzelticket.gif"));
Gruppenticket = new JButton(new ImageIcon("Strichmännchen Gruppenticket.gif"));
Wochenendticket = new JButton(new ImageIcon("Wochenendticket Deutsch.gif"));
Geldeinwurf = new JButton("Geld einwerfen");
TicketDrucken = new JButton("Ticket drucken");
Service = new JButton("Service");
Schließen = new JButton("Schließen");
Einzelticket_Label = new JLabel("Einzelticket");
Gruppenticket_Label = new JLabel("Gruppenticket");
Wochenendticket_Label = new JLabel("Wochenendticket");
Sprachauswahl = new JLabel("Ausgewählte Sprache:");
Sprachauswahl_Ergebnis = new JLabel();
Ticketauswahl = new JLabel("Ausgewähltes Ticket:");
Ticketauswahl_Ergebnis = new JLabel();
Preis = new JLabel("Preis:");
Preis_Wert = new JLabel();
bisherGezahlt = new JLabel("Bisher Gezahlt:");
bisherGezahlt_Wert = new JLabel();
Wechselgeld = new JLabel("Wechselgeld:");
Wechselgeld_Wert = new JLabel();
BL = Box.createVerticalBox();
BL.add(Box.createVerticalGlue());
BL.add(Deutsch);
BL.add(Englisch);
GRID = new JPanel(new GridLayout());
GRID.setLayout(new GridLayout(2,3));
GRID.add(Einzelticket);
GRID.add(Gruppenticket);
GRID.add(Wochenendticket);
GRID.add(Einzelticket_Label);
Einzelticket_Label.setHorizontalAlignment(SwingConstants.CENTER);
Einzelticket_Label.setVerticalAlignment(SwingConstants.TOP);
GRID.add(Gruppenticket_Label);
Gruppenticket_Label.setHorizontalAlignment(SwingConstants.CENTER);
Gruppenticket_Label.setVerticalAlignment(SwingConstants.TOP);
GRID.add(Wochenendticket_Label);
Wochenendticket_Label.setHorizontalAlignment(SwingConstants.CENTER);
Wochenendticket_Label.setVerticalAlignment(SwingConstants.TOP);
GRID1 = new JPanel(new GridLayout());
GRID1.setLayout(new GridLayout(5,2));
GRID1.add(Sprachauswahl);
GRID1.add(Sprachauswahl_Ergebnis);
GRID1.add(Ticketauswahl);
GRID1.add(Ticketauswahl_Ergebnis);
GRID1.add(Preis);
GRID1.add(Preis_Wert);
GRID1.add(bisherGezahlt);
GRID1.add(bisherGezahlt_Wert);
GRID1.add(Wechselgeld);
GRID1.add(Wechselgeld_Wert);
FLOW = new JPanel(new FlowLayout());
FLOW.setLayout(new FlowLayout(FlowLayout.LEFT,50,15));
FLOW.add(BL);
FLOW.add(GRID);
GRID2 = new JPanel(new GridLayout());
GRID2.setLayout(new GridLayout(2,1));
GRID2.add(FLOW);
GRID2.add(GRID1);
contentPane.add(GRID2, BorderLayout.CENTER);
FLOW1 = new JPanel(new FlowLayout());
FLOW1 = new JPanel(new FlowLayout(FlowLayout.CENTER,5,15));
FLOW1.add(Geldeinwurf);
FLOW1.add(TicketDrucken);
FLOW1.add(Service);
FLOW1.add(Schließen);
contentPane.add(FLOW1, BorderLayout.SOUTH);
Einzelticket.setVisible(false);
Gruppenticket.setVisible(false);
Wochenendticket.setVisible(false);
Einzelticket_Label.setVisible(false);
Gruppenticket_Label.setVisible(false);
Wochenendticket_Label.setVisible(false);
Ticketautomat.pack();
Ticketautomat.setLocationRelativeTo(null);
Deutsch.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
Einzelticket_Label.setText("Einzelticket");
Gruppenticket_Label.setText("Gruppenticket");
Wochenendticket_Label.setText("Wochenendticket");
Sprachauswahl.setText("Ausgewählte Sprache:");
Ticketauswahl.setText("Ausgewähltes Ticket:");
Preis.setText("Preis:");
bisherGezahlt.setText("Bisher Gezahlt:");
Wechselgeld.setText("Wechselgeld:");
Geldeinwurf.setText("Geld einwerfen");
TicketDrucken.setText("Ticket drucken");
Service.setText("Service");
Schließen.setText("Schließen");
Sprachauswahl_Ergebnis.setText("Deutsch");
Variable_Deu = true;
Variable_Eng = false;
Wochenendticket.setIcon(new ImageIcon("Wochenendticket Deutsch.gif"));
Einzelticket.setVisible(true);
Gruppenticket.setVisible(true);
Wochenendticket.setVisible(true);
Einzelticket_Label.setVisible(true);
Gruppenticket_Label.setVisible(true);
Wochenendticket_Label.setVisible(true);
Deutsch.setVisible(false);
Englisch.setVisible(false);
Ticketautomat.pack();
Ticketautomat.setLocationRelativeTo(null);
}
});
Englisch.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
Einzelticket_Label.setText("One Person Ticket");
Gruppenticket_Label.setText("Group Ticket");
Wochenendticket_Label.setText("Weekend Ticket");
Sprachauswahl.setText("Chosen Language:");
Ticketauswahl.setText("Chosen Ticket:");
Preis.setText("Price:");
bisherGezahlt.setText("Already Paid:");
Wechselgeld.setText("Change:");
Geldeinwurf.setText("Insert Money");
TicketDrucken.setText("Print Ticket");
Service.setText("Service");
Schließen.setText("Exit");
Sprachauswahl_Ergebnis.setText("English");
Variable_Eng = true;
Variable_Deu = false;
Wochenendticket.setIcon(new ImageIcon("Wochenendticket Englisch.gif"));
Einzelticket.setVisible(true);
Gruppenticket.setVisible(true);
Wochenendticket.setVisible(true);
Einzelticket_Label.setVisible(true);
Gruppenticket_Label.setVisible(true);
Wochenendticket_Label.setVisible(true);
Deutsch.setVisible(false);
Englisch.setVisible(false);
Ticketautomat.pack();
Ticketautomat.setLocationRelativeTo(null);
}
});
Einzelticket.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if (Variable_Deu == true && Variable_Eng == false)
{
Ticketauswahl_Ergebnis.setText("Einzelticket");
Ticket = "Einzelticket";
}
if (Variable_Eng == true && Variable_Deu == false)
{
Ticketauswahl_Ergebnis.setText("One Person Ticket");
Ticket = "One Person Ticket";
}
new Einzelticket();
Ticketpreis = 5;
TicketGewählt = true;
Preis_Wert.setText(String.valueOf(Ticketpreis) + " €");
}
});
Gruppenticket.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if (Variable_Deu == true && Variable_Eng == false)
{
Ticketauswahl_Ergebnis.setText("Gruppenticket");
Ticket = "Gruppenticket";
}
if (Variable_Eng == true && Variable_Deu == false)
{
Ticketauswahl_Ergebnis.setText("Group Ticket");
Ticket = "Group Ticket";
}
new Gruppenticket();
Ticketpreis = 12.5;
TicketGewählt = true;
Preis_Wert.setText(String.valueOf(Ticketpreis) + " €");
}
});
Wochenendticket.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if (Variable_Deu == true && Variable_Eng == false)
{
Ticketauswahl_Ergebnis.setText("Wochenendticket");
Ticket = "Wochenendticket";
}
if (Variable_Eng == true && Variable_Deu == false)
{
Ticketauswahl_Ergebnis.setText("Weekend Ticket");
Ticket = "Weekend Ticket";
}
Ticketpreis = 22.5;
TicketGewählt = true;
Preis_Wert.setText(String.valueOf(Ticketpreis) + " €");
new Wochenendticket();
}
});
Geldeinwurf.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if (Variable_Deu == true && Variable_Eng == false)
{
String CHANGE = JOptionPane.showInputDialog("Zahl: ");
EingeworfenesGeld = Double.parseDouble(CHANGE);
if(EingeworfenesGeld <= Ticketpreis)
{
Geldausgabe = 0;
}
else
{
Geldausgabe = (Ticketpreis-EingeworfenesGeld)*(-1);
}
bisherGezahlt_Wert.setText(String.valueOf(EingeworfenesGeld)+ " €");
Wechselgeld_Wert.setText(String.valueOf(Geldausgabe)+ " €");
}
if (Variable_Eng == true && Variable_Deu == false)
{
String CHANGE = JOptionPane.showInputDialog("Value: ");
EingeworfenesGeld = Double.parseDouble(CHANGE);
if(EingeworfenesGeld <= Ticketpreis)
{
Geldausgabe = 0;
}
else
{
Geldausgabe = (Ticketpreis-EingeworfenesGeld)*(-1);
}
bisherGezahlt_Wert.setText(String.valueOf(EingeworfenesGeld)+ " €");
Wechselgeld_Wert.setText(String.valueOf(Geldausgabe)+ " €");
}
}
});
TicketDrucken.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if (TicketGewählt == true)
{
if(EingeworfenesGeld >= Ticketpreis)
{
JOptionPane.showMessageDialog (null,
"##################\n# " +Ticket+ " #\n##################\n\nChange: " +Geldausgabe+ " €");
bisherGezahlt_Wert.setText(String.valueOf(0)+ " €");
Wechselgeld_Wert.setText(String.valueOf(0)+ " €");
EingeworfenesGeld = 0;
}
else
{
if(Variable_Deu == true && Variable_Eng == false)
{
JOptionPane.showMessageDialog (null,"Bitte bezahlen Sie den ganzen Preis.");
}
if(Variable_Eng == true && Variable_Deu == false)
{
JOptionPane.showMessageDialog (null,"Please pay the whole price.");
}
}
}
}
});
Schließen.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});
}
}
Hoffe mir kann jemand helfen, ich wäre sehr dankbar.
Zuletzt bearbeitet von einem Moderator: