Swing KeyEvent Problem

bafl13

Mitglied
Hallo
Ich habe das folgende Programm geschrieben und das Problem ist wenn ich in dem JTextField schreibe,akzeptiert das das Programm nicht,eine Beschreibung des Programms steht im Code nur ich weiß ich nicht genau was passiert und der Debugger von Eclipse funktioniert bei mir leider nicht!!!
Kann irgendjemand mir das Problem finden oder irgendwie helfen ? bitte bitte bitte🙁
Vielen Dank🙂
Java:
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.*;
/**
 * Das Programm  muss eine Zahl bekommen und pruefen ob die Quersumme 
 * der ganzen Zahl einstellig ist  wenn es nicht einstellig wäre,dann bekommt das Programm
 * eine Eingabe .Z.b: 234 =4+3+2 =9 also einstellig und damit hört das Programm auf
 * Anderes Beispiel 2356=2+3+5+6=16 dann bekommt das Programm andere Eingabe
 */
public class QuerSummeGui implements KeyListener {
	JFrame frame1=new JFrame("QuerSumme");
	JTextField eingabeText=new JTextField("Geben Sie eine Zahl");
	JLabel labelAusgabe=new JLabel("Ausgabe");
	void createGUI(){
		frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame1.setLayout(new FlowLayout());
		frame1.getContentPane().add(eingabeText);
		frame1.getContentPane().add(labelAusgabe);
		frame1.setVisible(true);
		this.eingabeText.addKeyListener(this);
	}
	
	int summe=0;
	public void keyPressed(KeyEvent e)
	{
		
		
	} 
	public  void keyReleased(KeyEvent e)
	{
		if( e.getKeyCode()==KeyEvent.VK_ENTER){//falls es Enter gedruckt würde dann berechnet das Programm die Zahl
			do{
				this.eingabeText.setText("Geben Sie eine Zahl");
				String stringSumme= this.eingabeText.getText();
			try{
			for(int i=0;i<stringSumme.length();++i)
				this.summe=this.summe+Character.digit(stringSumme.charAt(i), 10);
				
			}
			catch(NullPointerException e1){
				this.labelAusgabe.setText("Die Eingabe ist falsch,Geben Sie erneut!");
				this.summe=0;
				continue;
			}
			catch(IndexOutOfBoundsException e1){
				this.labelAusgabe.setText("keine Eingabe");
				this.summe=0;
				continue;
			}
			if(this.summe<9&&this.summe>-9){
				this.labelAusgabe.setText("Die Summe ist "+this.summe);
				this.summe=0;
			}
			else{
				this.labelAusgabe.setText("Die Summe ist"+this.summe);
			}
			}while(this.summe<-9||this.summe>9);
		}
		else{
			this.eingabeText.setText(this.eingabeText.getText());
		}
	}

	public void keyTyped(KeyEvent e)
	{
	}
	public static void main(String[] args) {
		final QuerSummeGui test=new QuerSummeGui();
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
			test.createGUI();
			}
			});
			
		

	}

}
 

Zurück
Oben