Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo Zusammen!

ich hätte da mal ne Frage und zwar möchte ich wenn ich die Taste "8" drücke das dann in meinem TextFeld die acht eingefügt wird.

Nun habe ich auch einige Buttons mit ActionListenern wenn ich den KeyListener einem von Ihnen dran hänge dann klappts wunderbar, doch wenn ich sage panel.addKeylistener() dann klappts nicht mehr. (Buttons auf denen es funktioniert liegen auf dem Panel!)

Gibts bestimmte vorraussetzungen für Keylistener? Kann man den nur auf angezeigte Buttons setzen?

Danke im voraus!

MfG

Saban

Geschrieben

Das liegt daran, dass dann der Fokus nicht mehr auf dem Panel sondern z.B. auf dem Button liegt. Wenn du ein leeres Fenster hättest, würde es funktionieren, da der Fokus nur auf dem Panel liegen kann - ist ja sonst kein anderes interaktives Objekt vorhanden.

Geschrieben

Ich würd gern den Quellcode sehen. Poste mal.

Wieso setzt du überhaupt den KeyListerner an das Panel und nicht ans Textfeld?

Wenn du ne 8 tippst, soll doch das Textfeld checken "aah yo, 8 getippt" und nich dein Label.

Geschrieben

Hey!

Sorry das es erst so spät kommt...

Hier der Code


package Calculator_Alt;


public class Taschenrechner{	


	static JTextField tf_eing = new JTextField();

	static InfixPostfixWandler wandler = new InfixPostfixWandler();


	public static void main(String [] args){

		/* Die einzelnen GUI-Elemente */

		JFrame frame		= new JFrame("Taschenrechner");

		JPanel panel		= new JPanel();

		JButton bt_null		= new JButton("0");

		JButton bt_eins		= new JButton("1");

		JButton bt_zwei		= new JButton("2");

		JButton bt_drei		= new JButton("3");

		JButton bt_vier		= new JButton("4");

		JButton bt_fünf		= new JButton("5");

		JButton bt_sechs	= new JButton("6");

		JButton bt_sieben	= new JButton("7");

		JButton bt_acht		= new JButton("8");

		JButton bt_neun		= new JButton("9");

		JButton bt_div		= new JButton("/");

		JButton bt_mul		= new JButton("*");

		JButton bt_add		= new JButton("+");

		JButton bt_sub		= new JButton("-");

		JButton bt_gleich	= new JButton("=");

		JButton bt_komma	= new JButton(",");

		JButton bt_clear	= new JButton("CE");

		JButton bt_klammerL	= new JButton("(");

		JButton bt_klammerR	= new JButton(")");

		JButton bt_pluMin	= new JButton("-+");


		/* Setzen des Layout-Managers */

		panel.setLayout(null);


		/* Positionieren der Komponenten */

		tf_eing.setBounds		( 10, 10, 225, 35);


		bt_sieben.setBounds		( 10, 55, 35, 35);

		bt_acht.setBounds		( 55, 55, 35, 35);

		bt_neun.setBounds		(100, 55, 35, 35);

		bt_div.setBounds		(155, 55, 35, 35);

		bt_clear.setBounds		(200, 55, 35, 35);


		bt_vier.setBounds		( 10,100, 35, 35);

		bt_fünf.setBounds		( 55,100, 35, 35);

		bt_sechs.setBounds		(100,100, 35, 35);

		bt_mul.setBounds		(155,100, 35, 35);

		bt_klammerL.setBounds	(200,100, 35, 35);


		bt_eins.setBounds		( 10,145, 35, 35);

		bt_zwei.setBounds		( 55,145, 35, 35);

		bt_drei.setBounds		(100,145, 35, 35);

		bt_sub.setBounds		(155,145, 35, 35);

		bt_klammerR.setBounds	(200,145, 35, 35);


		bt_null.setBounds		( 10,190, 35, 35);

		bt_pluMin.setBounds		( 55,190, 35, 35);

		bt_komma.setBounds		(100,190, 35, 35);

		bt_add.setBounds		(155,190, 35, 35);

		bt_gleich.setBounds		(200,190, 35, 35);


		/* Eigenschaften der Komponenten */

		Font font = new Font("Arial", Font.BOLD, 12);

		Color col_red = new Color(210, 0 ,0);


		// JTextField

		tf_eing.setEditable(false);

		tf_eing.setHorizontalAlignment(JTextField.RIGHT);

		tf_eing.setFont(font);


		// 3D Anzeige der Buttons

		bt_eins.setBorder(new BevelBorder(BevelBorder.RAISED));

		bt_zwei.setBorder(new BevelBorder(BevelBorder.RAISED));

		bt_drei.setBorder(new BevelBorder(BevelBorder.RAISED));

		bt_vier.setBorder(new BevelBorder(BevelBorder.RAISED));

		bt_fünf.setBorder(new BevelBorder(BevelBorder.RAISED));

		bt_sechs.setBorder(new BevelBorder(BevelBorder.RAISED));

		bt_sieben.setBorder(new BevelBorder(BevelBorder.RAISED));

		bt_acht.setBorder(new BevelBorder(BevelBorder.RAISED));

		bt_neun.setBorder(new BevelBorder(BevelBorder.RAISED));

		bt_null.setBorder(new BevelBorder(BevelBorder.RAISED));

		bt_komma.setBorder(new BevelBorder(BevelBorder.RAISED));

		bt_div.setBorder(new BevelBorder(BevelBorder.RAISED));

		bt_mul.setBorder(new BevelBorder(BevelBorder.RAISED));

		bt_add.setBorder(new BevelBorder(BevelBorder.RAISED));

		bt_sub.setBorder(new BevelBorder(BevelBorder.RAISED));

		bt_gleich.setBorder(new BevelBorder(BevelBorder.RAISED));

		bt_clear.setBorder(new BevelBorder(BevelBorder.RAISED));

		bt_klammerL.setBorder(new BevelBorder(BevelBorder.RAISED));

		bt_klammerR.setBorder(new BevelBorder(BevelBorder.RAISED));

		bt_pluMin.setBorder(new BevelBorder(BevelBorder.RAISED));



		/* Die Komponenten dem Container hinzufügen */

		panel.add(tf_eing);


		panel.add(bt_sieben);

		panel.add(bt_acht);

		panel.add(bt_neun);

		panel.add(bt_div);

		panel.add(bt_clear);


		panel.add(bt_vier);

		panel.add(bt_fünf);

		panel.add(bt_sechs);

		panel.add(bt_mul);

		panel.add(bt_klammerL);


		panel.add(bt_eins);

		panel.add(bt_zwei);

		panel.add(bt_drei);

		panel.add(bt_sub);

		panel.add(bt_klammerR);


		panel.add(bt_null);

		panel.add(bt_pluMin);

		panel.add(bt_komma);

		panel.add(bt_add);

		panel.add(bt_gleich);


		/* ActionListener */

		ActionListener al_buttonEins = new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {

				tf_eing.setText(tf_eing.getText() + "1");

			}

		};


		ActionListener al_buttonZwei = new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {

				tf_eing.setText(tf_eing.getText() + "2");

			}

		};


		ActionListener al_buttonDrei = new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {

				tf_eing.setText(tf_eing.getText() + "3");

			}

		};


		ActionListener al_buttonVier = new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {

				tf_eing.setText(tf_eing.getText() + "4");

			}

		};


		ActionListener al_buttonFunf = new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {

				tf_eing.setText(tf_eing.getText() + "5");

			}

		};


		ActionListener al_buttonSechs = new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {

				tf_eing.setText(tf_eing.getText() + "6");

			}

		};


		ActionListener al_buttonSieben = new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {

				tf_eing.setText(tf_eing.getText() + "7");

			}

		};


		ActionListener al_buttonAcht = new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {

				tf_eing.setText(tf_eing.getText() + "8");

			}

		};


		ActionListener al_buttonNeun = new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {

				tf_eing.setText(tf_eing.getText() + "9");

			}

		};


		ActionListener al_buttonNull = new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {

				tf_eing.setText(tf_eing.getText() + "0");

			}

		};


		ActionListener al_buttonMul = new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {

				tf_eing.setText(tf_eing.getText() + "*");

			}

		};


		ActionListener al_buttonDiv = new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {

				tf_eing.setText(tf_eing.getText() + "/");

			}

		};


		ActionListener al_buttonAdd = new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {

				tf_eing.setText(tf_eing.getText() + "+");

			}

		};


		ActionListener al_buttonSub = new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {

				tf_eing.setText(tf_eing.getText() + "-");

			}

		};


		ActionListener al_buttonKom = new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {

				tf_eing.setText(tf_eing.getText() + ".");

			}

		};


		ActionListener al_buttonClear = new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {

				tf_eing.setText("");

				wandler.clearPostfix();

			}

		};


		ActionListener al_buttonPluMin = new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {


			}

		};


		ActionListener al_buttonKlammerR = new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {

				tf_eing.setText(tf_eing.getText() + ")");

			}

		};


		ActionListener al_buttonKlammerL = new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {

				tf_eing.setText(tf_eing.getText() + "(");

			}

		};


		ActionListener al_buttonGleich = new ActionListener(){

			public void actionPerformed(ActionEvent arg0) {

				if(tf_eing.getText().length() > 2){

					System.out.println(wandler.infixInPostfix(tf_eing.getText()));

					wandler.clearPostfix();

				}

			}

		};



		bt_null.addActionListener(al_buttonNull);

		bt_eins.addActionListener(al_buttonEins);

		bt_zwei.addActionListener(al_buttonZwei);

		bt_drei.addActionListener(al_buttonDrei);

		bt_vier.addActionListener(al_buttonVier);

		bt_fünf.addActionListener(al_buttonFunf);

		bt_sechs.addActionListener(al_buttonSechs);

		bt_sieben.addActionListener(al_buttonSieben);

		bt_acht.addActionListener(al_buttonAcht);

		bt_neun.addActionListener(al_buttonNeun);

		bt_div.addActionListener(al_buttonDiv);

		bt_mul.addActionListener(al_buttonMul);

		bt_add.addActionListener(al_buttonAdd);

		bt_sub.addActionListener(al_buttonSub);

		bt_gleich.addActionListener(al_buttonGleich);

		bt_komma.addActionListener(al_buttonKom);

		bt_clear.addActionListener(al_buttonClear);

		bt_klammerL.addActionListener(al_buttonKlammerL);

		bt_klammerR.addActionListener(al_buttonKlammerR);

		bt_pluMin.addActionListener(al_buttonPluMin);


		/* Das Frame mit seinen Eigenschaften */

		frame.setSize(250, 260);

		frame.setResizable(false);

		Container aktuelleGUI = frame.getContentPane();

		aktuelleGUI.add(panel);

		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		frame.setVisible(true);

	}

}


MfG

Saban

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...