1
ここに、JavaFXでCtrl + Cの組み合わせのアクションを設定するコードを示します。 TextField command_lineに焦点が当てられていると動作しません。どうして?TextFieldのフォーカス中にCTRL + Cが機能しない
public void setCtrlC() {
command_line.getScene().getAccelerators().put(new KeyCodeCombination(KeyCode.C, KeyCombination.CONTROL_ANY),
new Runnable() {
@Override
public void run() {
LOGGER.debug("CTRL+C pressed");
try {
if (tab_toradex.isSelected()) {
bw.write(3);
bw.flush();
}
if(tab_novatel.isSelected()){
bw2.write(3);
bw2.flush();
}
} catch (IOException e) {
LOGGER.debug("CTRL+C command failed");
}
}
});
}
ありがとう!これで解決し[OK]を
可能な解決策は、[この質問]に答えに記述されている...のみ動作しますhttp://stackoverflow.com/questions/31732583/pass-context-menu-shortcuts-up-from-editing-control)。シーン/ルートにイベントフィルタを追加するより簡単な解決策があるかどうかはわかりません。 – Itai
Control + C(少なくともWindowsでは)はデフォルトでサポートされています。ユーザーがテキストをコピーしようとするとログに記録しますか?実際にここであなたは新しいスレッドを開始したいですか? Runnableは決して開始されません... – GOXR3PLUS
私は実際にこれについてはわかりませんが、テキストフィールドコントロールには独自のアクセラレータがあり、あなたのものを傍受していると思います。 – Jai