我在此字段中插入端口号。我想将字符串自动转换为数字:

fieldNport = new TextField();
    fieldNport.setPrefSize(180, 24);
    fieldNport.setFont(Font.font("Tahoma", 11));
    grid.add(fieldNport, 1, 1);

您能告诉我该怎么做吗?我在堆栈溢出中找不到合适的示例。

编辑:

也许这样:
 fieldNport.textProperty().addListener(new ChangeListener()
        {
            @Override
            public void changed(ObservableValue o, Object oldVal, Object newVal)
            {
                try
                {
                    int Nport = Integer.parseInt((String) oldVal);
                }
                catch (NumberFormatException e)
                {

                }
            }
        });

最佳答案

您可以这样写:

fieldNPort.text.addListener(new ChangeListener(){
        @Override public void changed(ObservableValue o,Object oldVal, Object newVal){
             //Some Code
             //Here you can use Integer.parseInt methods inside a try/catch
             //because parseInt throws Exceptions
        }
      });

这是关于JavaFX中的属性和侦听器所需的所有内容:
http://docs.oracle.com/javafx/2/binding/jfxpub-binding.htm
如有任何疑问,我们将竭诚为您服务。

09-05 09:18