我在此字段中插入端口号。我想将字符串自动转换为数字:
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
如有任何疑问,我们将竭诚为您服务。