public void changed(ObservableValue<? extends Tab> ov, Tab oldTab, Tab newTab) { try { if (newTab == null) { appPane.setContentPane(null); return; } newTab.setUnread(false); appPane.setContentPane(newTab.getContentPane()); final TextField inputField = appPane.getContentPane().getInputPane().getInputField(); Platform.runLater( new Runnable() { public void run() { inputField.requestFocus(); inputField.positionCaret(inputField.getText().length()); inputField.deselect(); } }); } catch (final NullPointerException npe) { System.err.println("NPE Caught in method: TabPane.TabClickedListener#changed()"); } }