【发布时间】:2015-10-28 13:56:50
【问题描述】:
我正在使用 JavaFX 制作一个应用程序,并且想知道为什么在我清除我的 TextField 后会有一个空格。以下代码是出现此错误的地方。
TextField field = new TextField();
field.setPromptText("Start typing!");
field.setOnKeyTyped(e -> {
if (Character.isWhitespace(e.getCharacter().charAt(0))) {
System.out.println(field.getText());
field.clear();
}
});
这是添加一个简单的 if 语句后的简单修复。
TextField field = new TextField();
field.setPromptText("Start typing!");
field.setOnKeyTyped(e -> {
if (Character.isWhitespace(e.getCharacter().charAt(0))) {
if (Character.isWhitespace(field.getText().charAt(0)))
field.setText(field.getText().substring(1, field.getText().length()));
System.out.println(field.getText());
field.clear();
}
});
但是,这并没有告诉我为什么在我清除文本 field.clear(); 或将文本设置为空字符串 field.setText(""); 后会有空格。有没有办法在不添加空格的情况下清除文本,或者这只是 TextFields 的一个错误?
【问题讨论】: