0
我想獲得我的KeyEvent的源(在我的情況下是一個TextField)。我可以通過使用e.getSource().toString()
打印出來,它打印字符串TextField[id=molarMass, styleClass=text-input text-field]
但我只想獲得TextFieldID
,所以我可以使用我的方法來處理其他TextField,而不僅僅是這個。來自KeyEvent的Javafx getSource()
代碼:
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
使用由每次一鍵被按下一個文本字段,我想使用的特定TextFieldID
而不是在代碼中使用molarMass
謝謝。這實際上比我想象的要容易得多。 最簡單的解決方案: 'TextField origin =((TextField)e.getSource());' – fLLah