Hallo, habe eine Frage zu folgendem Code:
Wobei InputKeyListener eine innere Klasse von der Klasse ist, welche auch public String readLine() beinhaltet.
Jetzt erwarte ich, dass die Methode readLine() den Text zurückgibt, welcher im JTextField input eingegeben und mit ENTER abgeschlossen wird...
Allerdings wird null zurückgegeben...
Kann mir das jemand erklären?
Code:
public String readLine() throws InterruptedException{
input.setEnabled(true); //input ist ein JTextField
Thread keyListener = new Thread(new InputKeyListener());
keyListener.join();
input.setEnabled(false);
return in;
}
Code:
class InputKeyListener extends KeyAdapter implements Runnable{
public void keyPressed(KeyEvent ke){
if(ke.getKeyCode()==KeyEvent.VK_ENTER){
in = input.getText();
input.setText("");
}else if(ke.getKeyCode()==KeyEvent.VK_ESCAPE){
System.exit(1);
}
}
public void run(){
input.addKeyListener(this);
}
}
Jetzt erwarte ich, dass die Methode readLine() den Text zurückgibt, welcher im JTextField input eingegeben und mit ENTER abgeschlossen wird...
Allerdings wird null zurückgegeben...
Kann mir das jemand erklären?