Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I am new to java and am trying to create limitations for a textfield. I want thi

ID: 3702901 • Letter: I

Question

I am new to java and am trying to create limitations for a textfield. I want this method to allow negative and positive doubles/integers, how can that be done? Right now it allows the sign in the middle of the text as well.

private static void Restriction(JTextField text, int x) f String ttext.getText); if Cx1) text.addKeyListener(new KeyAdapterO 0verride public void keyTyped(KeyEvent e) char c e.getKeyChar); if (!(Character. isDigit(c) II (c-KeyEvent .VK.PERIOD) ?l (c-KeyEvent .VK.MTNUS))) { e.consume(; h;

Explanation / Answer

One way to do this would be the replace any other character/text other than integer/double values with nothing, there by restructing the content that can be fille din the textbox.

This can be done using regualr expressions.

tField.textProperty().addListener(new ChangeListener<String>() {

//Overriding the parent class method

public void changed(ObservableValue <?extends String> observable, String oldText,String newText){

if (!newText.matches("\d*")) //if a non digit

{ tField.setText(newText.replaceAll("[^\d]", "")); // replace with nothing}}});

Hope this helped.