import java

Werbung
Copyleft:munz
import
import
import
import
java.awt.*;
javax.swing.*;
java.util.*;
java.awt.event.*;
public class Oberflaeche extends JFrame
{
public Steuerung dieSteuerung = new Steuerung();
public Oberflaeche()
{
getContentPane().add(new MyContainer(dieSteuerung));
setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}
public static void main(String[] args)
{ // Start der Anwendung mit main
Oberflaeche dieOberflaeche = new Oberflaeche();
dieOberflaeche.setSize(600,400);
dieOberflaeche.setTitle("Elektronikschrott Conrad @Conrad.de");
dieOberflaeche.setVisible(true);
}
}
class MyContainer extends Container
{ // Ein Container nimmt die einzelnen Panele auf
public MyContainer(Steuerung steu){
setLayout(new BorderLayout(3,3));
NordPanel nord = new NordPanel(steu);
SuedPanel sued = new SuedPanel(steu);
add(nord, BorderLayout.NORTH );
add(new OstPanel(steu,nord,sued), BorderLayout.EAST );
add(new MittePanel(steu), BorderLayout.CENTER );
add(sued, BorderLayout.SOUTH );
}
}
class NordPanel extends JPanel
{
private JTextField dasGeldFeld = new JTextField(5);
private JButton derEinwurfButton = new JButton("Bestätigen");
private JLabel dasKassenLabel = new JLabel("0 Cent");
private Steuerung dieSteuerung; // dauerhafte Verbindung zur Steuerung
public NordPanel(Steuerung steu)
{
setBackground(Color.white);
setLayout(new FlowLayout());
add(new JLabel("Geldeinwurf:"));
add(dasGeldFeld);
add(derEinwurfButton);
add(new JLabel("Ihr Guthaben: "));
add(dasKassenLabel);
dieSteuerung = steu;
derEinwurfButton.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
int g = Integer.parseInt(dasGeldFeld.getText());
dasKassenLabel.setText(dieSteuerung.einzahlen(g)+" Cent");
}
1
Copyleft:munz
});
}
public void anzeigenKasse()
{
dasKassenLabel.setText(dieSteuerung.getKasse()+" Cent");
}
}
class OstPanel extends JPanel
{
private JLabel dasProduktLabel = new JLabel("Noch nichts!");
private Steuerung dieSteuerung;
private NordPanel dasNordPanel;
private SuedPanel dasSuedPanel;
public OstPanel(Steuerung steu, NordPanel nord, SuedPanel sued)
{
JButton tmp;
setBackground(Color.white);
dieSteuerung = steu;
dasNordPanel = nord;
dasSuedPanel = sued;
setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
add(Box.createVerticalStrut(20));
tmp = new JButton("" + 0);
add (tmp);
tmp.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mousePressed(MouseEvent e) {
klickProdukt(0);
}
});
add(Box.createVerticalStrut(20));
tmp = new JButton("" + 1);
add (tmp);
tmp.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mousePressed(MouseEvent e) {
klickProdukt(1);
}
});
add(Box.createVerticalStrut(20));
tmp = new JButton("" + 2);
add (tmp);
tmp.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
klickProdukt(2);
}
});
add(Box.createVerticalStrut(20));
tmp = new JButton("" + 3);
add (tmp);
tmp.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
klickProdukt(3);
}
});
2
Copyleft:munz
add(Box.createVerticalGlue());
add(dasProduktLabel);
}
private void klickProdukt(int i)
{
int n = dieSteuerung.verkaufe(i);
if (n < 0)
dasProduktLabel.setText("Es fehlen "+-n+" Cent");
else
{
dasSuedPanel.ausgeben();
dasProduktLabel.setText("Wir bedanken uns!");
}
dasNordPanel.anzeigenKasse();
}
}
class MittePanel extends JPanel
{
public JTextArea dieTextArea = new JTextArea(8,20);
public MittePanel(Steuerung steu)
{
String s[]= new String[4];
setBackground(Color.white);
setLayout(new FlowLayout());
add(dieTextArea);
dieTextArea.append("Uebersicht unserer Angebote\n\n\n\n");
steu.init(s);
for (int i=0;i<s.length;i++) dieTextArea.append(i + " " +s[i]+"Cent\t" +" \n");
}
}
class SuedPanel extends JPanel
{
public JTextArea dieAusgabeArea = new JTextArea(8,20);
private Steuerung dieSteuerung;
public SuedPanel(Steuerung steu)
{
setBackground(Color.white);
setLayout(new FlowLayout());
dieSteuerung = steu;
add(dieAusgabeArea);
dieAusgabeArea.append("Wechselgeld:");
}
public void ausgeben()
{
String s[]= new String[8];
dieSteuerung.ausgebenWechselgeld(s);
dieAusgabeArea.setText("Wechselgeld: \n");
int i=0;
while (s[i]!=null)
dieAusgabeArea.append(s[i++]+"\n");
}
}
__________________________________________________public class Steuerung
{
private String warenName[]={"Transistoren","Operationsverstaerker","Schottky Dioden","Spulen"};
private int warenPreis[]={100,90,200,35};
private int kasse;
public void init(String s[])
{
3
Copyleft:munz
int i;
for (i=0;i<warenName.length;i++)
{
s[i]=warenName[i]+ " :
}
" +warenPreis[i];
}
public int einzahlen(int g)
{
return kasse += g;
}
public int getKasse()
{
return kasse;
}
public void ausgebenWechselgeld(String s[])
{
int mWerte[]={1,2,5,10,20,50,100,200};
String mNamen[]={"1 Cent","2 Cent","5 Cent","10 Cent","20 Cent","50 Cent","1 Euro","2 Euro"};
int i,a,j=0;
i=7;
while (kasse>0)
{
a=kasse/mWerte[i];
if (a>0)
s[j++]=a+ " * "+mNamen[i];
kasse=kasse%mWerte[i];
i--;
}
}
public int verkaufe(int w)
{
if (kasse>=warenPreis[w])
return kasse -= warenPreis[w];
return kasse-warenPreis[w];
}
}
4
Herunterladen