Java - Tillfälligt stoppa en kod / "Scanner" liknande arbetssätt i JTextField

Trädvy Permalänk
Medlem
Registrerad
Okt 2013

Java - Tillfälligt stoppa en kod / "Scanner" liknande arbetssätt i JTextField

Hej detta ska bli ett program likt en simpel miniräknare i console men utan console. Det får inte ha något att göra med console mer än att de ska fungera på ungefär samma sätt. Användaren skriver och programmet fortsätter endast när användaren skrivit klart och tryckt på enter. Term är en JTextArea där all text hamnar och term1 är en JTextField där användaren skriver.

term1.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){
if (e.getKeyCode() == KeyEvent.VK_ENTER){
String[] textall = term1.getText().split("\\s+");
text = textall[textall.length - 1];
text1 = text.toLowerCase();
term.append("\n"+text);
term1.setText(null);

if(text.contains("1")){
enter();
}

}
}
});

}
public static void enter(){

Double tal1 = null;
Double tal2 = null;
Double svar = null;

term.setText("Du har valt Subration \nVar vänlig skriv ett valfritt tal X (X-Y)\n");
//Här ska programmet vänta på att användaren skriver in talet innan den fortsätter
tal1 = Double.parseDouble(text1);
term.append("\nVar vänlig skriv ett valfritt tal Y (X-Y)\n");
//Här ska programmet vänta på att användaren skriver in talet innan den fortsätter
tal2 = Double.parseDouble(text1);
svar = tal1 - tal2;
term.append("Ditt X-Y blev "+svar);
}

Problemet nu är att programmet hinner köra alla steg i enter();. Om man lägger in en while(boolean=false){} för att få den att vänta lite så kraschar det istället. Har försökt i flera dagar och vet inte hur detta ska lösas. Tack på förhand!

i7-4770k OC @ 4,501 Ghz
Asus Geforce GTX 1070 Strix Gaming OC @ 1900 Mhz
16 gb Corsair Vengeance Pro OC @ CL9 2133 Mhz
Samsung SSD 840 OC @ Secret Mhz ;)
Blev på något konstigt vis en mac ägare efter 15 år med windows🤔