Wenn Button gedrückt wird, Ausgabe auf Display. Wie zu machen?

Neroo

Grünschnabel
Hi,

ich hab wirklich ein Anfänger Problem. So soll ich für die Schule einen Taschenrechner programmieren (+,-,*,/). Nun steh ich schon vor dem ersten Problem, nämlich wie Programmier ich das wenn ich auf den Button1 (bt1) drücke auf dem Display (tfDisplay1) die Zahl 1 erscheint? Ich danke für eure Hilfe sehr!

Gruß,
Neroo
 
Neroo hat gesagt.:
Hi,

ich hab wirklich ein Anfänger Problem. So soll ich für die Schule einen Taschenrechner programmieren (+,-,*,/). Nun steh ich schon vor dem ersten Problem, nämlich wie Programmier ich das wenn ich auf den Button1 (bt1) drücke auf dem Display (tfDisplay1) die Zahl 1 erscheint? Ich danke für eure Hilfe sehr!

Gruß,
Neroo

Schau dir das mal an http://www.tutorials.de/tutorials209918.html
und/oder durchsuche das Forum mal nach Taschenrechner
mfg
 
Wieso? Das ist doch genau nach was du gefragt hast und wenn dir das nicht hilft dann poste doch mal bitte ein wenig Code von dir damit wie dir helfen koennen...
 
Code:
bt1.addActionListener(this);
		bt2.addActionListener(this);
		bt3.addActionListener(this);
		bt4.addActionListener(this);
		bt5.addActionListener(this);
		bt6.addActionListener(this);
		bt7.addActionListener(this);
		bt8.addActionListener(this);
		bt9.addActionListener(this);
		bt0.addActionListener(this);
		btPunkt.addActionListener(this);
		btPlus.addActionListener(this);
		btMinus.addActionListener(this);
		btMal.addActionListener(this);
		btGeteilt.addActionListener(this);
		btErgebniss.addActionListener(this);
		
		//Sichtbarkeit des Fensters
		this.setVisible(true);
		
		//schließen des Fensters
		this.addWindowListener(new WindowAdapter()
				{public void windowClosing (WindowEvent evt)
				{System.exit(0);}});
		
			
				
	}

	/* (non-Javadoc)
	 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
	 */
	public void actionPerformed(ActionEvent arg0)

so das war etwas vom Code. So nun hätte ich halt gerne das auf dem ersten Display die 1 erscheint wenn ich auf den Button 1 klicke. Nur wie programmier ich sowas?
 
Zuletzt bearbeitet:
aber ganau das stand doch in dem Code bzw. Link den ich gepostet hatte...
Code:
bt1.addActionListener(this);
bt1.setActionCommand("1");
bt2.addActionListener(this);
bt2.setActionCommand("2");
usw....
}
public void actionPerformed(ActionEvent e){
//ich weiss nicht was dein display ist aber ich gehe mal von einem textfeld aus..

deinTextfeld.setText(e.getActionCommand()):
}
damit erscheinen deine Zahlen auf dem Display. Achtung! +,-,*,/ erscheinen auch auf dem Display, du musst den Code noch ein wenig Modifizieren um das zu verhindern mit if/else Abfragen vor dem
Code:
deinTextfeld.setText(e.getActionCommand()):
mfg
 
perfekt danke dir! Nun hab ich aber ein Problem nähmlich ich hab zwei Textfelder und wenn ich auf einen Rechnoperator klicke soll er die nächste Zahl in das zweite Textfeld schreiben. Mein Test sieht mom. so aus
Code:
		if (btest == false)
		{
			btPlus.setText(e.getActionCommand());
			btest = true;
		}
		
		else
		{
			btPlus.setText(e.getActionCommand());
			btest = false;
		}

leider meint er das man setText nicht bei einem Button anwenden kann. Hast du da auch vielleicht ein Tipp?
 
Also wenn du in ein 2. Textfeld schreiben moechtest warum willst du dann den Text vom Button aendern? Das macht doch keinen Sinn ;-)
Code:
//erzeuge eine Instanz Variable die du abfragst
private boolean wohinSollIchSchreiben = false;
...
...
public voi actionPerformed.......{
if(e.getActionCommand().equals("+") || e.getActionCommand().equals("-")...fuer *,/ auch noch){
wohinSollIchSchreiben == true;
}else if(wohinSollIchSchreiben == true){
anderesTextFeld.setText(e.getActionCommand());
}else if(wohinSollIchSchreiben != true){
textFeld.setText(e.getActioncommand()):
}else if(e.getActionCommand().equals("="){
wohinSollIchSchreiben = false;
}
}
ich hoffe das stimmt so, ich sollte aber eigentlich..
mfg
 
Erstmal danke dir! NUn bekomm ich allerdings fehlermeldungen mom sieht es so aus:

Code:
		if(e.getActionCommand().equals("+") || e.getActionCommand().equals("-")) {{{
			tfDisplay2 == true;
		}}}else if(tfDisplay2 == true){
			tfDisplay1.setText(e.getActionCommand());
			}else if(tfDisplay2 != true){
			tfDisplay1.setText(e.getActionCommand());
			}else if(e.getActionCommand().equals("=")){
			tfDisplay2 = false;
			}

beim unterstrichenen bringt er Fehermeldungen. Und sehe ich das richtig das ich tfDisplay als boolean und nicht mehr als TextField bei den Attributen eintragen muss?

PS: Das ist die Fehlermeldung: Cannot invoke setText(String) on the primitive type boolean
 
Zuletzt bearbeitet:
Sorry da sind mir ein paar Fehler unterlaufen..
Code:
if(e.getActionCommand().equals("+") || e.getActionCommand().equals("-")) {{{
			tfDisplay2 = true; //== ist ein vergleich was du brauchst ist natuerlich eine zuweisung also nur =
		}}}else if(tfDisplay2 == true){
			tfDisplay1.setText(e.getActionCommand());
			}else if(tfDisplay2 != true){
			tfDisplay1.setText(e.getActionCommand());
			}else if(e.getActionCommand().equals("=")){
			tfDisplay2 = false;
			}
so sollte es laufen..
 
Zurück