7

I am trying to get Integer values from my jtextfield but not able to it is showing incompatible datatypes required int found string. Is there some other way of writing my code is as follows and i want to get only integer values

private void jTextField2MouseClicked(java.awt.event.MouseEvent evt) {
        if(evt.getSource()==jTextField2){
            int jml = jTextField3.getText();
            jTextField1.setText(numberToWord(jml));

        }
    }
Andrew Thompson
  • 168,117
  • 40
  • 217
  • 433
Sumeet Gavhale
  • 800
  • 4
  • 13
  • 39
  • 3
    1) Consider using a `JSpinner` with `SpinnerNumberNodel` instead. 2) Both `JTextField` & `JSpinner` have better listeners than `MouseListener` available - they are `ActionListener` & `ChangeListener` respectively. – Andrew Thompson Jan 05 '13 at 06:35
  • See also [this answer](http://stackoverflow.com/questions/9344708/jcombobox-to-list-age/9345991#9345991) related to `JSpinner`. The models make it a versatile and intuitive (for the user) component. – Andrew Thompson Jan 05 '13 at 06:55

2 Answers2

12

You need to use Integer.parseInt(String)

private void jTextField2MouseClicked(java.awt.event.MouseEvent evt) {
        if(evt.getSource()==jTextField2){
            int jml = Integer.parseInt(jTextField3.getText());
            jTextField1.setText(numberToWord(jml));

        }
    }
Rahul
  • 15,979
  • 4
  • 42
  • 63
4

As You're getting values from textfield as jTextField3.getText();.

As it is a textField it will return you string format as its format says:

String getText()

      Returns the text contained in this TextComponent.

So, convert your String to Integer as:

int jml = Integer.parseInt(jTextField3.getText());

instead of directly setting

   int jml = jTextField3.getText();
Community
  • 1
  • 1
Parth Soni
  • 11,158
  • 4
  • 32
  • 54