Hey ich komm bei der Aufgabe leider nicht mehr weiter:
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 komm nur noch nicht mit dem erweitern klar,
hab schon n Panel auf dem ich die Sachen draufgepackt hab, die dann erscheinen sollen,
aber ich krieg es nicht hin es unsichtbar und nach dem bestätigen sichtbar zu machen.
Meine Codes:
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!!!");
}
}
}
package paket_Kopierer;
public class Startklasse
{
public static void main(String[] args)
{
Fenster fenster1;
fenster1=new Fenster();
fenster1.setVisible(true);
}
}
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;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
public class Fenster extends JFrame
{
private static final long serialVersionUID = 1L;
private JPanel jContentPane = 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;
private JPanel plErweiterung = null;
public Fenster()
{
super();
initialize();
karte1=new Kopierkarte();
}
private void initialize()
{
this.setSize(450, 400);
this.setContentPane(getJContentPane());
this.setTitle("Kopierer ohne DB");
}
private JPanel getJContentPane()
{
if (jContentPane == null)
{
lbAnzahlKopien = new JLabel();
lbAnzahlKopien.setText("Anzahl Kopien:");
lbAnzahlKopien.setBounds(new Rectangle(20, 50, 150, 25));
lbKontostand = new JLabel();
lbKontostand.setText("aktueller Kontostand:");
lbKontostand.setBounds(new Rectangle(20, 10, 150, 25));
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(lbPinNummer, null);
jContentPane.add(lbBestätigen, null);
jContentPane.add(getBtEnde(), null);
jContentPane.add(getBtBestätigen(), null);
jContentPane.add(getPfPinNummer1(), null);
jContentPane.add(getPlErweiterung(), null);
}
return jContentPane;
}
private JTextField getTfKontostand()
{
if (tfKontostand == null)
{
tfKontostand = new JTextField();
tfKontostand.setEditable(false);
tfKontostand.setBounds(new Rectangle(190, 10, 100, 25));
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.setText("Kopieren");
btKopieren.setBounds(new Rectangle(20, 95, 100, 25));
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, 50, 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();
String password=new String(a.getPassword());
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()));
}
private JPanel getPlErweiterung()
{
if (plErweiterung == null)
{
plErweiterung = new JPanel();
plErweiterung.setLayout(null);
plErweiterung.setBounds(new Rectangle(0, 85, 430, 120));
plErweiterung.add(getBtKopieren(), null);
plErweiterung.add(lbAnzahlKopien, null);
plErweiterung.add(lbKontostand, null);
plErweiterung.add(getTfKopien(), null);
plErweiterung.add(getTfKontostand(), null);
}
return plErweiterung;
}
}
ich hoffe da kann mir einer helfen