Я работаю над программой, в которой есть изменяемая горячая клавиша. В GUI вы определяете горячую клавишу запуска / остановки в JTextField, тогда оператор if будет работать, если JTextField соответствует нажатой клавише. Однако, это не похоже на работу.
@Override
public void nativeKeyPressed(NativeKeyEvent e) {
runStrt0 = start0.getText(); //JTextFile String (I was using "X" for testing)
if (NativeKeyEvent.getKeyText(e.getKeyCode()) == runStrt0) { //If The key I pressed matches my JTextField
System.out.println(runStrt0); //Print out the JTextField (Just for testing)
} else { //If it doesn't match
System.out.println("'" + e.getKeyCode() + "'"); //Print the key I pressed
System.out.println("'" + runStrt0 + "'"); //Print JTextField string
}
}
Этот код возвращает это.
'X'
'X'
Это мне кажется правильным, так как это работает, когда я определяю строку в другой мои программы с предопределенной горячей клавишей.
@Override
public void nativeKeyPressed(NativeKeyEvent e) {
String ifState = "P";
if (NativeKeyEvent.getKeyText(e.getKeyCode()) == ifState) {
Thread thing2run = new Thread(new RunnableClass());
thing2run.start();
}
}
Это просто пример кода из другой моей программы. Это работает очень хорошо, когда я нажимаю «P». Так что же я делаю не так с первым кодом? Что мне нужно изменить, чтобы я мог изменить свою горячую клавишу на что угодно, просто набрав что-то новое в JTextField?