Convert JTextField input into an Integer

后端 未结 4 906
我寻月下人不归
我寻月下人不归 2021-01-01 05:47

I am new to JAVA, I am trying to convert an input from a JTextField into an integer, I have tried loads of options but nothing is working, the eclipse is always giving me an

相关标签:
4条回答
  • 2021-01-01 06:25

    You have two main errors that immediately leap to mind:

    • First you're trying to parse the JTextField itself, not the text it holds (as pointed out by dantuch -- 1+ to him).
    • Next, even if you were to successfully parse the text held by the JTextField, doing so at this point in your program is not productive since you'd be doing it at the time of JTextField creation, and would not have given the user a chance to change the values held by the fields.

    A better solution would be to parse the text held by the JTextField, again as dantuch suggests, but to do so in a listener of some sort, perhaps an ActionListener that has been triggered by a JButton push.

    0 讨论(0)
  • You need to parse the value of the TextField:

    int i = Integer.parseInt("-10");
    

    Similarly

    double d = Double.parseDouble("-10.0");
    

    etc...

    0 讨论(0)
  • 2021-01-01 06:34

    I've implemented number fields based on JFormattedTextField.

    They also support a min and a max value.

    Maybe you find them useful (the library is open source):

    http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JRealNumberField.html

    http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JDoubleField.html

    http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JFloatField.html

    http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JLocalizedRealNumberField.html

    http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JLocalizedDoubleField.html

    http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JLocalizedFloatField.html

    http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JWholeNumberField.html

    http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JByteField.html

    http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JIntegerField.html

    http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JLongField.html

    http://softsmithy.sourceforge.net/lib/docs/api/org/softsmithy/lib/swing/JShortField.html

    Tutorial:

    http://softsmithy.sourceforge.net/lib/docs/tutorial/swing/number/index.html

    Homepage:

    http://www.softsmithy.org

    Download:

    http://sourceforge.net/projects/softsmithy/files/softsmithy/

    Maven:

    <dependency>  
        <groupId>org.softsmithy.lib</groupId>  
        <artifactId>lib-core</artifactId>  
        <version>0.1</version>  
    </dependency>  
    
    0 讨论(0)
  • 2021-01-01 06:35

    In place of:

    JTextField f1 = new JTextField("-5");
    
    //xaxis1 = Integer.parseInt(f1);
    

    try this:

    JTextField f1 = new JTextField("-5");
    String text = f1.getText();
    int xaxis1 = Integer.parseInt(text);
    

    You cannot parse TextField to Integer, but you can parse its value contained - text.

    0 讨论(0)
提交回复
热议问题