如何在JavaFX2中的TextField上书写或跨越TextField?

时间:2013-05-24 14:51:14

标签: javafx-2

我在屏幕上的标签中有大量文本字段 - 每个文本字段都必须经过验证。如果输入中有错误,我想要一些特定字段有输入错误的指示。

并非每个文化都理解红色边框意味着错误,因此我需要在靠近,越过或跨越的地方显示文本“错误”。例如,要在文本字段上设置标题边框,用红色表示“错误”,如Java Swing has。所以在选项卡控制器的基类--TabController中,我有像

这样的方法
validateNumber(TextField field, String validRangeRegex); 
validateIpaddress(TextField field, String validRangeRegex); 

这个问题要求相同,但解决方案涉及从StackPane继承子类。 GroupBox / TitledBorder in JavaFX 2?

如何在没有TextField子类化的情况下实现标题边框?

如果在原始JavaFX中无法实现,我想知道JavaScript handler是否可以在文本字段上写“错误”? http://docs.oracle.com/javafx/2/api/javafx/fxml/doc-files/introduction_to_fxml.html#script_event_handlers

2 个答案:

答案 0 :(得分:0)

难道你不能只给文本框一个带红色背景颜色的错误样式类吗?并在发生错误的文本框中安装工具提示?

我知道这可能不是一个直接的答案,但我认为没有子类化是不可能的。

安装工具提示:

TextBox t = (TextBox) o;
t.setTooltip(new Tooltip("Please enter a value"));
t.getStyleClass().add("error");

CSS:

.error {
    -fx-background-color: #FBE3E4;
    -fx-text-fill:#8a1f11;
}

答案 1 :(得分:0)

我发现了这个问题 - 我将使用一个显示“错误”的图像图标。 Adding a small picture on the right side of textField with CSS