【发布时间】:2015-12-29 03:23:28
【问题描述】:
我正在尝试获取 KeyEvent 的来源(在我的情况下为 TextField)。我可以使用e.getSource().toString() 打印它,它打印字符串TextField[id=molarMass, styleClass=text-input text-field],但我只想得到TextFieldID,所以我也可以将我的方法用于其他TextField,而不仅仅是这个。
代码:
public void correctTextField(KeyEvent e) {
System.out.println(e.getSource().toString());
if (e.getCode() != KeyCode.BACK_SPACE && !e.getCode().isArrowKey()) {
int caretPosition = molarMass.getCaretPosition();
molarMass.setText(DataUse.testForOnlyNumbers(molarMass.getText()));
molarMass.positionCaret(caretPosition);
}
}
correctTextField 由 TextField 每次按下键时使用,我想使用特定的 TextFieldID 而不是在代码中使用 molarMass
【问题讨论】: