java - How do I ensure the user is only allowed integer input? -
this question has answer here:
- how implement numberfield in javafx 2.0? 6 answers
i'm new java , javafx, i'm trying build pretty basic program. below snippet of code had placed in on key pressed
event of textfield
(it did of course have different parameter type). however, code didn't work there (i.e. user still allowed enter characters), , after googling found maybe code should moved on input method text changed
event of textfield
. but, i'm unable determine how can recover key pressed , whether or not ctrl down.
private void verifykeyisinteger(inputmethodevent event) { keycode code = event.getcode(); if (event.iscontroldown() && (code.equals(keycode.c) || code.equals(keycode.x) || code.equals(keycode.v))) { return; } else if (code.isdigitkey()) { return; } event.consume(); }
this code in controller attached fxml
file.
how can ensure user's can input integers textfield
?
edit
here current fxml
:
<?xml version="1.0" encoding="utf-8"?> <?import java.lang.*?> <?import java.util.*?> <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <?import javafx.scene.paint.*?> <anchorpane id="anchorpane" maxheight="-infinity" maxwidth="-infinity" minheight="-infinity" minwidth="-infinity" prefheight="400.0" prefwidth="600.0" xmlns:fx="http://javafx.com/fxml" fx:controller="tutoringcalculator.mainformcontroller"> <children> <label layoutx="14.0" layouty="14.0" text="session minutes:" /> <textfield fx:id="sessionminutes" layoutx="100.0" layouty="14.0" prefwidth="200.0" /> <label layoutx="14.0" layouty="34.0" text="earnings:" /> <textfield fx:id="earnings" layoutx="100.0" layouty="34.0" prefwidth="200.0" /> <button fx:id="quitbutton" layoutx="511.0" layouty="14.0" minwidth="75.0" mnemonicparsing="false" onmouseclicked="#quitapplication" text="quit" /> </children> </anchorpane>
if need track integer input, can have @ implementation of integerfield of javafx (a field used access integer values) :
but approach not applicable, if ctrl needed tracked.
Comments
Post a Comment