Kleiner Taschenrechner

Hallo,

ich versuche einen kleinen Taschenrechner in Java zu Programmieren mit Eclipse, dem JDK 1.6.0 und dem Visual Plug in.

Der Quellcode sieht bis jetzt so aus:

import java.awt.Dimension;
import javax.swing.JTextField;
import java.awt.Rectangle;
import javax.swing.JButton;
import java.awt.Point;

public class TR extends Frame {

	private static final long serialVersionUID = 1L;
	private JTextField TF = null;
	private JButton b1 = null;
	private JButton b2 = null;
	private JButton b3 = null;
	private JButton b4 = null;
	private JButton b5 = null;
	private JButton b6 = null;
	private JButton b7 = null;
	private JButton b8 = null;
	private JButton b9 = null;
	private JButton b0 = null;
	private JButton bpl = null;
	private JButton bmi = null;
	private JButton bma = null;
	private JButton bdu = null;
	private JButton bgl = null;

	/**
	 * This is the default constructor
	 */
	public TR() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setLayout(null);
		this.setSize(221, 196);
		this.setTitle("Frame");

		this.add(getTF(), null);
		this.add(getB1(), null);
		this.add(getB2(), null);
		this.add(getB3(), null);
		this.add(getB4(), null);
		this.add(getB5(), null);
		this.add(getB6(), null);
		this.add(getB7(), null);
		this.add(getB8(), null);
		this.add(getB9(), null);
		this.add(getB0(), null);
		this.add(getBpl(), null);
		this.add(getBmi(), null);
		this.add(getBma(), null);
		this.add(getBdu(), null);
		this.add(getBgl(), null);
	}

	/**
	 * This method initializes TF	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTF() {
		if (TF == null) {
			TF = new JTextField();
			TF.setBounds(new Rectangle(14, 34, 195, 21));
		}
		return TF;
	}

	/**
	 * This method initializes b1	
	 * 	
	 * @return javax.swing.JButton	
	 */
	String zahl;
	private JButton getB1() {
		if (b1 == null) {
			b1 = new JButton();
			b1.setLocation(new Point(16, 59));
			b1.setText("1");
			b1.setSize(new Dimension(45, 25));
			b1.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					TF.setText("1");
					}
			});
		}
		return b1;
	}

	/**
	 * This method initializes b2	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getB2() {
		if (b2 == null) {
			b2 = new JButton();
			b2.setLocation(new Point(65, 59));
			b2.setText("2");
			b2.setSize(new Dimension(45, 25));
			b2.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					String zahl = ""; 
					zahl =  zahl + TF.getText();
					TF.setText(zahl);
					
					
					}
			});
		}
		return b2;
	}

	/**
	 * This method initializes b3	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getB3() {
		if (b3 == null) {
			b3 = new JButton();
			b3.setLocation(new Point(114, 59));
			b3.setText("3");
			b3.setSize(new Dimension(45, 25));
		}
		return b3;
	}

	/**
	 * This method initializes b4	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getB4() {
		if (b4 == null) {
			b4 = new JButton();
			b4.setLocation(new Point(16, 88));
			b4.setText("4");
			b4.setSize(new Dimension(45, 25));
		}
		return b4;
	}

	/**
	 * This method initializes b5	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getB5() {
		if (b5 == null) {
			b5 = new JButton();
			b5.setLocation(new Point(65, 88));
			b5.setText("5");
			b5.setSize(new Dimension(45, 25));
		}
		return b5;
	}

	/**
	 * This method initializes b6	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getB6() {
		if (b6 == null) {
			b6 = new JButton();
			b6.setLocation(new Point(114, 88));
			b6.setText("6");
			b6.setSize(new Dimension(45, 25));
		}
		return b6;
	}

	/**
	 * This method initializes b7	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getB7() {
		if (b7 == null) {
			b7 = new JButton();
			b7.setLocation(new Point(16, 118));
			b7.setText("7");
			b7.setSize(new Dimension(45, 25));
		}
		return b7;
	}

	/**
	 * This method initializes b8	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getB8() {
		if (b8 == null) {
			b8 = new JButton();
			b8.setLocation(new Point(65, 118));
			b8.setText("8");
			b8.setSize(new Dimension(45, 25));
		}
		return b8;
	}

	/**
	 * This method initializes b9	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getB9() {
		if (b9 == null) {
			b9 = new JButton();
			b9.setLocation(new Point(114, 118));
			b9.setText("9");
			b9.setSize(new Dimension(45, 25));
		}
		return b9;
	}

	/**
	 * This method initializes b0	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getB0() {
		if (b0 == null) {
			b0 = new JButton();
			b0.setLocation(new Point(65, 148));
			b0.setText("0");
			b0.setSize(new Dimension(45, 25));
		}
		return b0;
	}

	/**
	 * This method initializes bpl	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBpl() {
		if (bpl == null) {
			bpl = new JButton();
			bpl.setSize(new Dimension(45, 25));
			bpl.setText("+");
			bpl.setLocation(new Point(163, 59));
		}
		return bpl;
	}

	/**
	 * This method initializes bmi	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBmi() {
		if (bmi == null) {
			bmi = new JButton();
			bmi.setSize(new Dimension(45, 25));
			bmi.setText("-");
			bmi.setLocation(new Point(163, 88));
		}
		return bmi;
	}

	/**
	 * This method initializes bma	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBma() {
		if (bma == null) {
			bma = new JButton();
			bma.setSize(new Dimension(45, 25));
			bma.setText("*");
			bma.setLocation(new Point(163, 118));
		}
		return bma;
	}

	/**
	 * This method initializes bdu	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBdu() {
		if (bdu == null) {
			bdu = new JButton();
			bdu.setSize(new Dimension(45, 25));
			bdu.setText("/");
			bdu.setLocation(new Point(163, 148));
		}
		return bdu;
	}

	/**
	 * This method initializes bgl	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBgl() {
		if (bgl == null) {
			bgl = new JButton();
			bgl.setSize(new Dimension(45, 25));
			bgl.setText("=");
			bgl.setLocation(new Point(114, 148));
		}
		return bgl;
	}

}  //  @jve:decl-index=0:visual-constraint="23,39"```

Mein momentanes Problem ist, das ich wenn mehrmals auf eine Zahl klicke die vorherige überschrieben wird. Hat jemand ne idee wie ich das problem lösen kann? Ich hab auch schon google benutz und anderen Code gelesen aber nichts finden können.

Mein Tipp erstmal schreib die GUI selbst von Hand weil der Code ist grauenvoll :wink:
ich vermute mal das irgendwo einfach nur setText gesagt wird und nicht setText(getText()+neuerstring),

ich weiß das der Code grauenhaft ist, nur ist es für den Anfang sehr bequem es mit dem Visual Plug zu schreiben, weil ich erst am Montag angefangen hab mich mit der Sprache zu beschäftigen.

und gerade eben viel es mir auch wie schuppen aus den Haaren.

TF.setText(TF.getText() + "1"); und das noch für die restlichen zahlen buttons.
Aber ich sehe schon mein nächstes Problem auf mich zukommen, und das wird sich damit beschäftigen wie ich das ding dazu bekommen nach dem klicken auf = auch tatsächlich zu rechnen. Wie hätte ich denn den Code übrigens eigentlich schöner schreiben können? Mir würde da spontan nur einfallen na Klasse “button” oder so zu machen und dann nur die sich änderden eigenschaften für jeden button zu erklären.

Wenn du damit erst anfängst würd ich dir raten komplett auf GUI zu verzichten und nur die Konsole zu benutzen.
Klar ist das erstmal nicht so spektakulär aber für den Anfang vollkommen ausreichend.

ich seh gerade deinen Fehler bei B2

          String zahl = "";
          zahl = zahl + TF.getText();
          TF.setText(zahl);```
du musst wenn dann zahl = "2" setzen, weil sonst fügst du nix mit dem was schon drin steht zusammen

ja, danke den fehler hab ich shcon beseitigt, der ist beim rumprobieren entstanden.
ich will das programm aber in meine Facharbeit einbauen und da sollte es schon ein bisschen hübsch aussehen. Naja zum glück hat mein Infolehrer keinen plan von Java :P, da fällt der schlechte Code auch ni so auf ^^

Mir fällt gerade auf, dass Du AWT und Swing mischst. Das solltest Du nicht tun. Entweder nutzt Du die java.awt.Button-Klasse mit der java.awt.Frame-Klasse (AWT) oder die javax.swing.JButton-Klasse mit der javax.swing.JFrame-Klasse. Letzteres würde ich empfehlen; Swing, das kann mehr und ist auch nicht komplizierter. Am Anfang mag das etwas verwirrend sein. Auch in Swing gibt es viel AWT (zum Beispiel werden einige Events, wie ActionEvent, aus AWT in Swing benutzt). Aber die Faustregel lautet: Keine JXXX-GUI-Klassen auf nicht-JXXX-GUI-Klassen legen und umgekehrt.

[ol][li]Nimm keine absoluten Positionierungen und Größen. Nimm einfach einen LayoutManager (GridLayout ist hier perfekt) und mehrere JPanels ineinander. Das geht ungefähr so: ```final JPanel mainPane = new JPanel(new BorderLayout(6, 6));
[/li]final JTextField textField = new JTextField();
mainPane.add(textField, BorderLayout.NORTH);

final JPanel buttonPanel = new JPanel(new Gridlayout(4, 4));
buttonPanel.add(createDigitButton(1));
buttonPanel.add(createDigitButton(2));
buttonPanel.add(createDigitButton(3));
buttonPanel.add(createAddButton());

buttonPanel.add(createDigitButton(4));
buttonPanel.add(createDigitButton(5));
buttonPanel.add(createDigitButton(6));
buttonPanel.add(createSubtractButton());

buttonPanel.add(createDigitButton(7));
buttonPanel.add(createDigitButton(8));
buttonPanel.add(createDigitButton(9));
buttonPanel.add(createMultiplyButton());

buttonPanel.add(new JPanel()); // Dummy
buttonPanel.add(createDigitButton(0));
buttonPanel.add(createResultButton());
buttonPanel.add(createDivideButton());

mainPane.add(buttonPanel, BorderLayout.CENTER);[li]Nutze immer den gleichen Code für gleiche Aufgaben. Zum Beispiel die createDigitButton(int)-Methode: private JButton createDigitButton(int digit) {
[/li] final JButton button = new JButton(Integer.toString(digit));
button.setActionCommand(button.getText());
button.addActionListener(new ActionListener() {
// TODO: Implement action according to ActionEvent’s action command
}

return button;
}```[li]Alle Bezeichner sollten sinnvolle Namen haben. Warum B1, wenn ziffernButton1 auch geht? Warum Klasse TR wenn TaschenRechnerFrame viel aussagekräftiger ist. Etc.[*]Alle Klassennamen im CamelCase-Stil, alle Methoden und normalen Variablen (sowohl lokale, als auch Argumente, als auch Instanz-Variablen) im camelCase-Stil benennen![/ol]
[/li]Ich hoffe, das hilft Dir weiter. :slight_smile:

Ebenius

Zunächst erstmal ein riesiges dankeschön an Ebenius und EaglEye.
Ich werde gleich versuchen den Vorschlag von Ebenius umzusetzen, hab aber meinen eher krausig, wenn auch (so wie ich finde) sehr kreativ gelösten Taschenrechner fertig, und würde nun nur noch gern dem ding sagen das es zum beispiel beim klicken auf + den curser in das Textfeld setzen soll. Weiß wer mit welcher methode das geht? hab es schon mit allen „TF.setFocusXXX()“ versucht, doch leider ohne erfolg.

hier jetzt mal mein code, der profis und fortgeschrittenen sicher im auge weh tut. ABER es funktioniert :stuck_out_tongue:

import java.awt.Dimension;
import javax.swing.JTextField;
import java.awt.Rectangle;
import javax.swing.JButton;
import java.awt.Point;

public class TR extends Frame {

	private static final long serialVersionUID = 1L;
	private JTextField TF = null;
	private JButton b1 = null;
	private JButton b2 = null;
	private JButton b3 = null;
	private JButton b4 = null;
	private JButton b5 = null;
	private JButton b6 = null;
	private JButton b7 = null;
	private JButton b8 = null;
	private JButton b9 = null;
	private JButton b0 = null;
	private JButton bpl = null;
	private JButton bmi = null;
	private JButton bma = null;
	private JButton bdu = null;
	private JButton bgl = null;
	double zahl1;
	double zahl2;
	double rechne;
	byte zeichen;
	/**
	 * This is the default constructor
	 */
	public TR() {
		super();
		initialize();
		
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setLayout(null);
		this.setSize(320, 287);
		this.setTitle("Taschenrechner");

		this.add(getTF(), null);
		this.add(getB1(), null);
		this.add(getB2(), null);
		this.add(getB3(), null);
		this.add(getB4(), null);
		this.add(getB5(), null);
		this.add(getB6(), null);
		this.add(getB7(), null);
		this.add(getB8(), null);
		this.add(getB9(), null);
		this.add(getB0(), null);
		this.add(getBpl(), null);
		this.add(getBmi(), null);
		this.add(getBma(), null);
		this.add(getBdu(), null);
		this.add(getBgl(), null);
		this.add(getBgls(), null);
		this.add(getBglm(), null);
		this.add(getBgld(), null);
		this.add(getBce(), null);
		this.add(getBk(), null);
	}

	/**
	 * This method initializes TF	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTF() {
		if (TF == null) {
			TF = new JTextField();
			TF.setBounds(new Rectangle(14, 34, 195, 21));
		}
		return TF;
	}

	/**
	 * This method initializes b1	
	 * 	
	 * @return javax.swing.JButton	
	 */
	String zahl;
	private JButton bgls = null;
	private JButton bglm = null;
	private JButton bgld = null;
	private JButton bce = null;
	private JButton bk = null;
	private JButton getB1() {
		if (b1 == null) {
			b1 = new JButton();
			b1.setLocation(new Point(16, 59));
			b1.setText("1");
			b1.setSize(new Dimension(45, 25));
			b1.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					TF.setText(TF.getText() + "1");
					}
			});
		}
		return b1;
	}

	/**
	 * This method initializes b2	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getB2() {
		if (b2 == null) {
			b2 = new JButton();
			b2.setLocation(new Point(65, 59));
			b2.setText("2");
			b2.setSize(new Dimension(45, 25));
			b2.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
						TF.setText(TF.getText() + "2");
					
					
					}
			});
		}
		return b2;
	}

	/**
	 * This method initializes b3	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getB3() {
		if (b3 == null) {
			b3 = new JButton();
			b3.setLocation(new Point(114, 59));
			b3.setText("3");
			b3.setSize(new Dimension(45, 25));
			b3.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					TF.setText(TF.getText() + "3");
					}
			});
		}
		return b3;
	}

	/**
	 * This method initializes b4	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getB4() {
		if (b4 == null) {
			b4 = new JButton();
			b4.setLocation(new Point(16, 88));
			b4.setText("4");
			b4.setSize(new Dimension(45, 25));
			b4.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					TF.setText(TF.getText() + "4");}
			});
		}
		return b4;
	}

	/**
	 * This method initializes b5	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getB5() {
		if (b5 == null) {
			b5 = new JButton();
			b5.setLocation(new Point(65, 88));
			b5.setText("5");
			b5.setSize(new Dimension(45, 25));
			b5.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					TF.setText(TF.getText() + "5");}
			});
		}
		return b5;
	}

	/**
	 * This method initializes b6	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getB6() {
		if (b6 == null) {
			b6 = new JButton();
			b6.setLocation(new Point(114, 88));
			b6.setText("6");
			b6.setSize(new Dimension(45, 25));
			b6.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					TF.setText(TF.getText() + "6");}
			});
		}
		return b6;
	}

	/**
	 * This method initializes b7	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getB7() {
		if (b7 == null) {
			b7 = new JButton();
			b7.setLocation(new Point(16, 118));
			b7.setText("7");
			b7.setSize(new Dimension(45, 25));
			b7.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					TF.setText(TF.getText() + "7");}
			});
		}
		return b7;
	}

	/**
	 * This method initializes b8	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getB8() {
		if (b8 == null) {
			b8 = new JButton();
			b8.setLocation(new Point(65, 118));
			b8.setText("8");
			b8.setSize(new Dimension(45, 25));
			b8.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					TF.setText(TF.getText() + "8");}
			});
		}
		return b8;
	}

	/**
	 * This method initializes b9	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getB9() {
		if (b9 == null) {
			b9 = new JButton();
			b9.setLocation(new Point(114, 118));
			b9.setText("9");
			b9.setSize(new Dimension(45, 25));
			b9.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					TF.setText(TF.getText() + "9");}
			});
		}
		return b9;
	}

	/**
	 * This method initializes b0	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getB0() {
		if (b0 == null) {
			b0 = new JButton();
			b0.setLocation(new Point(65, 148));
			b0.setText("0");
			b0.setSize(new Dimension(45, 25));
			b0.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					TF.setText(TF.getText() + "0");}
			});
		}
		return b0;
	}

	/**
	 * This method initializes bpl	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBpl() {
		if (bpl == null) {
			bpl = new JButton();
			bpl.setSize(new Dimension(45, 25));
			bpl.setText("+");
			bpl.setLocation(new Point(163, 59));
			bpl.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					zahl1 = Double.parseDouble(TF.getText());
					bgl.setVisible(true);
					bgls.setVisible(false);
					bglm.setVisible(false);
					bgld.setVisible(false);
					TF.setText("");
					}
			});
		}
		return bpl;
	}

	/**
	 * This method initializes bmi	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBmi() {
		if (bmi == null) {
			bmi = new JButton();
			bmi.setSize(new Dimension(45, 25));
			bmi.setText("-");
			bmi.setLocation(new Point(163, 88));
			bmi.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					zahl1 = Double.parseDouble(TF.getText());
					bgl.setVisible(false);
					bgls.setVisible(true);
					bglm.setVisible(false);
					bgld.setVisible(false);
					TF.setText("");}
			});
		}
		return bmi;
	}

	/**
	 * This method initializes bma	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBma() {
		if (bma == null) {
			bma = new JButton();
			bma.setSize(new Dimension(45, 25));
			bma.setText("*");
			bma.setLocation(new Point(163, 118));
			bma.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					zahl1 = Double.parseDouble(TF.getText());
					bgl.setVisible(false);
					bgls.setVisible(false);
					bglm.setVisible(true);
					bgld.setVisible(false);
					TF.setText("");
					}
			});
		}
		return bma;
	}

	/**
	 * This method initializes bdu	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBdu() {
		if (bdu == null) {
			bdu = new JButton();
			bdu.setSize(new Dimension(45, 25));
			bdu.setText("/");
			bdu.setLocation(new Point(163, 148));
			bdu.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					zahl1 = Double.parseDouble(TF.getText());
					bgl.setVisible(false);
					bgls.setVisible(false);
					bglm.setVisible(false);
					bgld.setVisible(true);
					TF.setText("");

					}
			});
		}
		return bdu;
	}

	/**
	 * This method initializes bgl	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBgl() {
		if (bgl == null) {
			bgl = new JButton();
			bgl.setSize(new Dimension(45, 25));
			bgl.setText("=");
			bgl.setLocation(new Point(114, 148));
			bgl.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					
					zahl2 = Double.parseDouble(TF.getText());
					rechne = zahl1 + zahl2;	
					TF.setText(Double.toString(rechne));
					}
			});
		}
		return bgl;
	
	}

	/**
	 * This method initializes bgls	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBgls() {
		if (bgls == null) {
			bgls = new JButton();
			bgls.setLocation(new Point(114, 148));
			bgls.setText("=");
			bgls.setSize(new Dimension(45, 25));
			bgls.setVisible(false);
			bgls.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					zahl2 = Double.parseDouble(TF.getText());
					rechne = zahl1 - zahl2;	
					TF.setText(Double.toString(rechne));}
			});
		}
		return bgls;
	}

	/**
	 * This method initializes bglm	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBglm() {
		if (bglm == null) {
			bglm = new JButton();
			bglm.setLocation(new Point(114, 148));
			bglm.setText("=");
			bglm.setSize(new Dimension(45, 25));
			bglm.setVisible(false);
			bglm.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					zahl2 = Double.parseDouble(TF.getText());
					rechne = zahl1 * zahl2;	
					TF.setText(Double.toString(rechne));}
			});
		}
		return bglm;
	}

	/**
	 * This method initializes bgld	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBgld() {
		if (bgld == null) {
			bgld = new JButton();
			bgld.setLocation(new Point(114, 148));
			bgld.setText("=");
			bgld.setSize(new Dimension(45, 25));
			bgld.setVisible(false);
			bgld.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					zahl2 = Double.parseDouble(TF.getText());
					rechne = zahl1 / zahl2;	
					TF.setText(Double.toString(rechne));}
			});
		}
		return bgld;
	}

	/**
	 * This method initializes bce	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBce() {
		if (bce == null) {
			bce = new JButton();
			bce.setSize(new Dimension(192, 26));
			bce.setText("CE - NEUE RECHNUNG");
			bce.setLocation(new Point(16, 178));
			bce.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					zahl1 = 0;
					zahl2 = 0;
					rechne = 0;
					TF.setText("");
					}
			});
		}
		return bce;
	}

	/**
	 * This method initializes bk	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBk() {
		if (bk == null) {
			bk = new JButton();
			bk.setLocation(new Point(16, 148));
			bk.setText(",");
			bk.setSize(new Dimension(45, 25));
			bk.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					TF.setText(TF.getText() + ".");}
			});
		}
		return bk;
	}
}  //  @jve:decl-index=0:visual-constraint="28,33"

man beachte dabei besonders die „Kreative“ lösung mit der eigenschaft visible der = buttons. Wollte es erst mit einer if verzweigung machen, nur stürtz dabei aus irgendeinem grund jedesmal das Eclipse ab… achso, und die bezeichnungen TF, TR etc. hab ich gewählt weil ich zu faul war es auszuschreiben… werd mir aber in zukunft doch lieber die mühe machen ^^

(b = button, bgl = buttongleich(der rechnet plus), bgls = buttongleichsubtraktion, bglm = buttongleichmultiplikation, bgld = buttongleichdivision, bpl = button plus, bmi = buttonminus, bma = buttonmal, bdu = buttondurch)

Ja, ja der Focus macht immer Spaß. Probier mal: TF.requestFocus();
Wenn das nicht geht, dann probier mal SwingUtilities.invokeLater(new Runnable() { public void run() { TF.requestFocus(); } });

Ebenius

TF.requestFocus();

Funktioniert 1a riesiges dankeschön :D:D:D

Gern. Ich markiere das Thema mal als erledigt. Ich hoffe, das ist okay so.

Tipp: Als Themeneröffner kannst Du das selbst machen. Rechts über dem obersten Beitrag, Themen-Optionen, Dieses Thema als [Erledigt] markieren.

Happy Hacking!
Ebenius