【问题标题】:getting integer values from textfield从文本字段获取整数值
【发布时间】:2012-12-19 14:32:12
【问题描述】:

我试图从我的 jtextfield 中获取整数值,但无法显示不兼容的数据类型需要 int 找到的字符串。有没有其他写我的代码的方法如下,我只想得到整数值

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

        }
    }

【问题讨论】:

  • 1) 考虑改用JSpinnerSpinnerNumberNodel。 2) JTextFieldJSpinner 的听众比 MouseListener 更好 - 它们分别是 ActionListenerChangeListener
  • 另请参阅与JSpinner 相关的this answer。这些模型使其成为一个通用且直观的(对用户而言)组件。

标签: java swing jtextfield


【解决方案1】:

你需要使用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));

        }
    }

【讨论】:

  • 一定要处理NumberFormatException,如果用户输入非数字的东西,parseInt() 会抛出。
  • 是的,这是一个检查异常,所以它会强制用户处理它。我给 OP 留下了一些思考的空间。
  • 我认为trim() 在这里也会有所帮助。
  • thanx Mel 对thanx 兄弟帮助很大:-)
【解决方案2】:

当您从 jTextField3.getText(); 的文本字段中获取值时。

因为它是一个 textField,它会返回你的字符串格式,因为它的format 说:

String getText()

      Returns the text contained in this TextComponent.

因此,将您的 String 转换为 Integer 为:

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

而不是直接设置

   int jml = jTextField3.getText();

【讨论】:

    猜你喜欢
    • 2023-03-23
    • 1970-01-01
    • 2017-04-06
    • 2021-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多