Dieser code befindet sich in einer eigenen klasse. Die funktion "giveValue" wird in einer anderen klasse aufgerufen (wenn dort ein button bedrück wird).
Wieso zählt y nicht bei jedem mal auf den button drücken +1, sondern gibt wenn ich mehrmals den button drücke immer 1 aus.
Moin,
bei dem bisschen Code kann man nur raten!
Erzeugst Du evtl. bei jeden Buttonklick ein neues 'Bunker'-Objekt??
Zudem würde ich 'y' zumindest mal sauber initialisieren!
Und wozu ist der Parameter 'z' denn gut??
VG Klaus
hier ist der restliche code. Die idee ist, dass bei drücken des buttons die information im textfeld (Eingabe) an die klasse Bunker übergeben wird, was auch funktionierte (der code ist allerdings nicht mit drin, aber das ist wie gesagt nichtdas problem). Allerdings möchte ich, dass wenn giveValue ausgeführt wird, also wenn der button gedrückt wird, in der klasse bunker die variable y um 1 erhöht wird.
Java:
importjava.awt.FlowLayout;importjava.awt.Frame;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JTextField;publicclass GUI extendsJFrame{privateJLabelBeschriftung1;privateJTextFieldEingabe;privateJLabelAusgabe;privateJButtonDrücker;publicGUI(){setTitle("Übungsprojekt");setDefaultCloseOperation(EXIT_ON_CLOSE);setLayout(newFlowLayout());setSize(400,250);setResizable(false);Beschriftung1=newJLabel("EIngabe bitte");Eingabe=newJTextField(4);Ausgabe=newJLabel();Drücker =newJButton("Bäm Oida");Drücker.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvent e){String h =Eingabe.getText();int g =Integer.parseInt(h);BunkerBunkerObj=newBunker();BunkerObj.giveValue(g);}});{add(Beschriftung1);add(Eingabe);add(Drücker);add(Ausgabe);setLocationRelativeTo(null);setVisible(true);}}}
Wie ich es dachte, Du erzeugst bei jedem Buttonklick ein neues Bunker-Objekt, fängst also quasi jedesmal wieder bei 0 an !!
Du darfst nur EIN Objekt instantiieren!!
VG Klaus