Hi ich hab ein Problem mit einer Aufgabe:
Die Aufgabe:
Erstellen sie ein OO-Projekt ,,Projekt_Kopierer", mit dem das Kopieren mit einer Kopier-
karte "simuliert" werden soll.
Nach Eingabe der korrekten (nicht sichtbaren) Pin-Nummer(123) erweitert sich das Formular. Wenn der Falsche Pin eingegeben wurde soll eine Fehlermeldung in einem Fenster ausgegeben werden.
Der Benutzer erhält eine Information über den aktuellen Kontostand und kann nun die Anzahl der gewünschten Kopien eintragenn.
Nach dem Klick auf Kopieren wird der Kontostand aktualisiert.
Es muss verhindert werden, dass die gewünschte Kopienanzahl den aktuellen Kontostand übersteigt.
Ich weiß nicht wie ich das mit der Erweiterung machen soll, kann mir einer da helfen?
Was ich bisher hab:
Die Klasse Kopierkarte:
Die Startklasse:
Meine Fenster Klasse:
Die Aufgabe:
Erstellen sie ein OO-Projekt ,,Projekt_Kopierer", mit dem das Kopieren mit einer Kopier-
karte "simuliert" werden soll.
Nach Eingabe der korrekten (nicht sichtbaren) Pin-Nummer(123) erweitert sich das Formular. Wenn der Falsche Pin eingegeben wurde soll eine Fehlermeldung in einem Fenster ausgegeben werden.
Der Benutzer erhält eine Information über den aktuellen Kontostand und kann nun die Anzahl der gewünschten Kopien eintragenn.
Nach dem Klick auf Kopieren wird der Kontostand aktualisiert.
Es muss verhindert werden, dass die gewünschte Kopienanzahl den aktuellen Kontostand übersteigt.
Ich weiß nicht wie ich das mit der Erweiterung machen soll, kann mir einer da helfen?
Was ich bisher hab:
Die Klasse Kopierkarte:
Code:
package paket_Kopierer;
import javax.swing.JOptionPane;
public class Kopierkarte
{
private String pin;
private double stand;
public Kopierkarte()
{
pin="123";
stand=100;
}
public void setPin(String pPin)
{
pin=pPin;
}
public String getPin()
{
return pin;
}
public void setStand(double pStand)
{
stand=pStand;
}
public double getStand()
{
return stand;
}
public void bestätigen(String pfPinNummer)
{
pfPinNummer=pin;
}
public void mindern(int pMinderung)
{
if (stand-pMinderung >= 0)
{
stand=stand-pMinderung;
}
else
{
JOptionPane.showMessageDialog(null,"Nicht genügend Kopien vorhanden!!!");
}
}
}
Die Startklasse:
Code:
package paket_Kopierer;
public class Startklasse
{
public static void main(String[] args)
{
Fenster fenster1;
fenster1=new Fenster();
fenster1.setVisible(true);
}
}
Meine Fenster Klasse:
Code:
package paket_Kopierer;
import java.awt.BorderLayout;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JTextPane;
import javax.swing.JTextField;
import javax.swing.JTable;
import javax.swing.JList;
import java.awt.Rectangle;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextArea;
import java.text.*;
import javax.swing.JCheckBox;
import javax.swing.JPasswordField;
import java.awt.Dimension;
import javax.swing.JInternalFrame;
import javax.swing.JSplitPane;
import javax.swing.JWindow;
public class Fenster extends JFrame
{
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JList jList = null;
private JLabel lbPinNummer = null;
private JLabel lbBestätigen = null;
private JTextField tfKontostand = null;
private JButton btEnde = null;
private JButton btKopieren = null;
private JLabel lbKontostand = null;
private JTextField tfKopien = null;
private Kopierkarte karte1;
private JButton btBestätigen = null;
private JPasswordField pfPinNummer1 = null;
private JLabel lbAnzahlKopien = null;
public Fenster()
{
super();
initialize();
karte1=new Kopierkarte();
}
private void initialize()
{
this.setSize(400, 300);
this.setContentPane(getJContentPane());
this.setTitle("Kopierer ohne DB");
}
private JPanel getJContentPane()
{
if (jContentPane == null)
{
lbAnzahlKopien = new JLabel();
lbAnzahlKopien.setBounds(new Rectangle(20, 140, 150, 25));
lbAnzahlKopien.setText("Anzahl Kopien:");
lbKontostand = new JLabel();
lbKontostand.setBounds(new Rectangle(20, 100, 150, 25));
lbKontostand.setText("aktueller Kontostand:");
lbBestätigen = new JLabel();
lbBestätigen.setBounds(new Rectangle(20, 60, 150, 25));
lbBestätigen.setText("Pin-Nummer bestätigen:");
lbPinNummer = new JLabel();
lbPinNummer.setBounds(new Rectangle(20, 20, 100, 25));
lbPinNummer.setText("Pin-Nummer:");
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getJList(), null);
jContentPane.add(lbPinNummer, null);
jContentPane.add(lbBestätigen, null);
jContentPane.add(getTfKontostand(), null);
jContentPane.add(getBtEnde(), null);
jContentPane.add(getBtKopieren(), null);
jContentPane.add(lbKontostand, null);
jContentPane.add(getTfKopien(), null);
jContentPane.add(getBtBestätigen(), null);
jContentPane.add(lbAnzahlKopien, null);
jContentPane.add(getPfPinNummer1(), null);
}
return jContentPane;
}
private JList getJList()
{
if (jList == null)
{
jList = new JList();
jList.setBounds(new Rectangle(0, 0, 0, 373));
}
return jList;
}
private JTextField getTfKontostand()
{
if (tfKontostand == null)
{
tfKontostand = new JTextField();
tfKontostand.setBounds(new Rectangle(190, 100, 100, 25));
tfKontostand.setEditable(false);
tfKontostand.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent e)
{
tfKontostand.equals(karte1.getStand());
}
});
}
return tfKontostand;
}
private JButton getBtEnde()
{
if (btEnde == null)
{
btEnde = new JButton();
btEnde.setBounds(new Rectangle(190, 180, 100, 25));
btEnde.setText("Ende");
btEnde.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent e)
{
System.exit(0);
}
});
}
return btEnde;
}
private JButton getBtKopieren()
{
if (btKopieren == null)
{
btKopieren = new JButton();
btKopieren.setBounds(new Rectangle(20, 180, 100, 25));
btKopieren.setText("Kopieren");
btKopieren.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent e)
{
karte1.mindern(Integer.parseInt(tfKopien.getText()));
zeigen();
}
});
}
return btKopieren;
}
private JTextField getTfKopien()
{
if (tfKopien == null)
{
tfKopien = new JTextField();
tfKopien.setBounds(new Rectangle(190, 140, 100, 25));
}
return tfKopien;
}
private JButton getBtBestätigen() {
if (btBestätigen == null ) {
btBestätigen = new JButton();
btBestätigen.setBounds(new Rectangle(190, 60, 100, 25));
btBestätigen.setText("Bestätigen");
btBestätigen.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent e)
{
JPasswordField a = getPfPinNummer1();
String b = karte1.getPin();
char[] c= a.getPassword();
String password=new String(a.getPassword());
/*JTextField f= getTfKontostand();
String.valueOf(f);
double d=karte1.getStand();
String.valueOf(d); */
zeigen();
if (b.equals(password))
{
zeigen();
}
else
{
JOptionPane.showMessageDialog(null,"Falsche Pin-Nummer");
}
}
});
}
return btBestätigen;
}
private JPasswordField getPfPinNummer1()
{
if (pfPinNummer1 == null)
{
pfPinNummer1 = new JPasswordField();
pfPinNummer1.setBounds(new Rectangle(188, 16, 101, 32));
}
return pfPinNummer1;
}
public void zeigen()
{
tfKontostand.setText(Double.toString(karte1.getStand()));
}
}