我的问题是关于从eclipse打开场景构建器。 我想显示一个只接受数字的文本字段,我找到了一个很好的方法来实现它,扩展文本字段的类和覆盖方法“用3参数替换文本”,条件。 在我的控制器类创建对象并通过传递ID将其添加到布局FXML文件之后。
当我将TextField中的标签从TextField更改为NumberTextField后,我运行app并且工作正常。当我使用Eclipse并按场景构建器打开布局时,除非我将标记从NumberTextField更改为TextField,否则它将无法打开。
这里是我的班级NumberTextField& FXML文件中包含标记的部分。
类:
package application;
import javafx.scene.control.TextField;
public class NumberTextField extends TextField{
public NumberTextField() {
this.setPromptText("Enter the value");
}
@Override
public void replaceText(int start, int end, String text) {
if(text.matches("[0-9]")|| text.isEmpty()){
super.replaceText(start, end, text);
}
}
}
FXML:
<NumberTextField fx:id="fromTextField" prefWidth="170.0" GridPane.rowIndex="2" />
<NumberTextField fx:id="toTextField" disable="true" prefWidth="170.0" promptText="Value" GridPane.columnIndex="1" GridPane.rowIndex="2" />
请注意:我在FXML中为NumberTextFiled进行了第一次导入。 很抱歉很多话。 请帮我 !!!!!! 祝你有个美好的一天。