I am trying to set javafx TextField text when JnativeHook MoseClicked event happens.But i face with "NullPointerException" error.I put my Controller class code in here:
public class FXMLDocumentController implements Initializable, NativeMouseListener {
@FXML
private TextField txt_Search;
@Override
public void initialize(URL url, ResourceBundle rb) {
txt_Search.setText("dvdf"); //this is work and no problem is in here
Listener();
}
public void Listener() {
// Clear previous logging configurations.
LogManager.getLogManager().reset();
// Get the logger for "org.jnativehook" and set the level to off.
Logger logger = Logger.getLogger(GlobalScreen.class.getPackage().getName());
logger.setLevel(Level.OFF);
try {
GlobalScreen.registerNativeHook();
} catch (NativeHookException ex) {
System.err.println("There was a problem registering the native hook.");
System.err.println(ex.getMessage());
System.exit(1);
}
// Construct the example object.
FXMLDocumentController example = new FXMLDocumentController();
// Add the appropriate listeners.
GlobalScreen.addNativeMouseListener(example);
}
@Override
public void nativeMouseClicked(NativeMouseEvent nme) {
if (nme.getClickCount() == 2) {
System.out.println("Double Click Event");
txt_Search.setText("Mouse clicked");
}
}
@Override
public void nativeMousePressed(NativeMouseEvent nme) {
// throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void nativeMouseReleased(NativeMouseEvent nme) {
// throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}
And this error is occurring :
Double Click Event
Exception in thread "JNativeHook Dispatch Thread" java.lang.NullPointerException
at FXMLDocumentController.nativeMouseClicked(FXMLDocumentController.java:60)
at org.jnativehook.GlobalScreen$EventDispatchTask.processButtonEvent(Unknown Source)
at org.jnativehook.GlobalScreen$EventDispatchTask.processButtonEvent(Unknown Source)
at org.jnativehook.GlobalScreen$EventDispatchTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Update:
I update my code and annotate txt_Search with @FXML annotation