Hi,
ich lern im Moment Java in Informatik. Zur Übung wollt ich einen Getraenkeautomaten erstellen. Das ganze soll mit einem Controller ablaufen. Ich bekomme aber leider ein error: (Steht ganz unten in diesem post)
Dies ist einmal die view.java
--------------------
Nun Controller
-----
Und noch eine normale kleine Startklasse.
Wenn ich View oder Controller compilliere erscheint folgende Fehlermeldung:
View.java:90: cannot resolve symbol
symbol : method setGetraenk (java.lang.String)
location: class javax.swing.JLabel
kostet.setGetraenk(gtk);
^
View.java:94: cannot resolve symbol
symbol : method setBetrag (java.lang.String)
location: class javax.swing.JLabel
betrag.setBetrag(btg);
^
2 errors
Wie kann ich ihn beheben?
greez[/code]
ich lern im Moment Java in Informatik. Zur Übung wollt ich einen Getraenkeautomaten erstellen. Das ganze soll mit einem Controller ablaufen. Ich bekomme aber leider ein error: (Steht ganz unten in diesem post)
Dies ist einmal die view.java
Code:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class View extends JFrame
{
private JPanel p1 = new JPanel();
private JPanel p2 = new JPanel();
private JPanel p3 = new JPanel();
private JLabel kostet = new JLabel();
private JLabel betrag = new JLabel();
private JButton einzahlen = new JButton();
private JButton wasser = new JButton();
private JButton cola = new JButton();
private JButton limo = new JButton();
private JButton saft = new JButton();
private JButton wasser2 = new JButton();
private JButton cola2 = new JButton();
private JButton limo2 = new JButton();
private JButton saft2 = new JButton();
private JTextField einwurf = new JTextField();
public View (Controller c)
{
super("Standardview");
addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent evt) { System.exit(0); } });
setSize(400, 400);
p1.setLayout(new GridLayout(1,2));
p2.setLayout(new GridLayout(2,4));
p3.setLayout(new GridLayout(1,2));
kostet.setText("Getraenk auswaehlen ");
betrag.setText("Preis in Cent");
einzahlen.setText("Einwerfen (nur 10,20,50,100,200Cent) ");
wasser.setText("WASSER");
cola.setText("COLA");
limo.setText("LIMO");
saft.setText("SAFT");
wasser2.setText("WASSER2");
cola2.setText("COLA2");
limo2.setText("LIMO2");
saft2.setText("SAFT2");
p1.add(kostet);
p1.add(betrag);
p2.add(wasser);
p2.add(cola);
p2.add(limo);
p2.add(saft);
p2.add(wasser2);
p2.add(cola2);
p2.add(limo2);
p2.add(saft2);
p3.add(einzahlen);
p3.add(einwurf);
getContentPane().setLayout(new BorderLayout());
getContentPane().add(p1, BorderLayout.NORTH);
getContentPane().add(p2, BorderLayout.CENTER);
getContentPane().add(p3, BorderLayout.SOUTH);
setVisible(true);
wasser.addActionListener(c);
wasser.setActionCommand("wasser");
cola.addActionListener(c);
cola.setActionCommand("cola");
limo.addActionListener(c);
limo.setActionCommand("limo");
saft.addActionListener(c);
saft.setActionCommand("saft");
wasser2.addActionListener(c);
wasser2.setActionCommand("wasser2");
cola2.addActionListener(c);
cola2.setActionCommand("cola2");
limo2.addActionListener(c);
limo2.setActionCommand("limo2");
saft2.addActionListener(c);
saft2.setActionCommand("saft2");
einzahlen.addActionListener(c);
einzahlen.setActionCommand("einzahlen");
}
public void setGetraenk(String gtk)
{
kostet.setGetraenk(gtk);
}
public void setBetrag(String btg)
{
betrag.setBetrag(btg);
}
}
Nun Controller
Code:
import java.awt.event.*;
public class Controller implements ActionListener
{
private View ui;
private int rest;
private int muenzen;
public Controller()
{
ui = new View (this);
ui.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
String acmd = e.getActionCommand();
System.out.println( acmd );
if( acmd.equals("wasser"))
{
rest = 100;
ui.setGetraenk("Wasser");
ui.setBetrag("" +rest +"Cent");
}
if( acmd.equals("wasser2"))
{
rest = 100;
ui.setGetraenk("Wasser");
ui.setBetrag("" +rest +"Cent");
}
if( acmd.equals("cola"))
{
rest = 150;
ui.setGetraenk("Cola");
ui.setBetrag("" +rest +"Cent");
}
if( acmd.equals("cola2"))
{
rest = 150;
ui.setGetraenk("Cola");
ui.setBetrag("" +rest +"Cent");
}
if( acmd.equals("limo"))
{
rest = 150;
ui.setGetraenk("Limo");
ui.setBetrag("" +rest +"Cent");
}
if( acmd.equals("limo2"))
{
rest = 150;
ui.setGetraenk("Limo");
ui.setBetrag("" +rest +"Cent");
}
if( acmd.equals("saft"))
{
rest = 200;
ui.setGetraenk("Saft");
ui.setBetrag("" +rest +"Cent");
}
if( acmd.equals("saft2"))
{
rest = 200;
ui.setGetraenk("Saft");
ui.setBetrag("" +rest +"Cent");
}
if( acmd.equals("einzahlen"))
{
if(rest == 0)
{
ui.setGetraenk(" Danke fuer das Geld");
}
else
{
}
}
if(muenzen == 0)
{
ui.setBetrag("" +rest +"Cent");
System.out.println(" Erst Geld einwerfen und dann Einzahlen druecken");
}
if(muenzen == 10 || muenzen == 20 || muenzen == 50 || muenzen == 100 || muenzen == 200)
{
rest = rest - muenzen;
if(rest < 0)
{
rest = rest * (-1);
ui.setBetrag("" +rest +"Cent");
System.out.println(" Rückgeld von "+rest +" Cent bitte entnehmen");
rest = 0;
ui.setGetraenk(" Getraenk auswaehlen ");
}
else
{
ui.setBetrag("" +rest +"Cent");
System.out.println("" +rest +" Cent");
}
}
else
{
ui.setBetrag("" +rest +"Cent");
System.out.println("Diese Muenze gibts nicht ");
}
}
}
-----
Und noch eine normale kleine Startklasse.
Wenn ich View oder Controller compilliere erscheint folgende Fehlermeldung:
View.java:90: cannot resolve symbol
symbol : method setGetraenk (java.lang.String)
location: class javax.swing.JLabel
kostet.setGetraenk(gtk);
^
View.java:94: cannot resolve symbol
symbol : method setBetrag (java.lang.String)
location: class javax.swing.JLabel
betrag.setBetrag(btg);
^
2 errors
Wie kann ich ihn beheben?
greez[/code]